Nechť čísla ukazují SQL slov
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Použití trinokulárních operací je v pořádku
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png SQL lze také psát Vyberte *, Případová skupina když 1, pak N'Skupina 1' když 2, pak N'Skupina 2' když 3, pak N'Skupina 3' jinak N'unknown' end groupname od @stuinfo =========== Toto téma je SQL select a.StandardId,a.StandardType, case StandardStatus když 1, pak N'void' když 2, pak N'aktuálně platné' když 3, pak N'to bude implementováno'; jinak N'unknown' konec skupiny, a.StandardTitle,a.ImplementationDate,a.Release from OATestStandard a
SQL učební adresa https://www.cnblogs.com/4littleProgrammer/p/4820006.html
Už je skoro čas skončit v práci, tak si najděte čas shrnout případné využití SQL.
Role CASE v SQL:Výraz použitý k výpočtu seznamu podmínek a vrací jeden z možných výsledků.Typ případu SQL je v programovacích jazycích If-Esle If-Else nebo Switch, ale nepoužívá se k řízení procesu spouštění SQL programů, ale jako funkcesloupecLogické využití.
Syntaxe:
Případ [input_expression]
Když when_expression pak result_expression
[... n]
[jinak else_result_expression]
konec
Poznámka: [] je volitelné.
Připravte testovací data:
1
2
3
4
5
6
7
8
9
10
11
12
| Deklarujte@stuinfoTabulka
(idint,
Jméno Nvarchar(20),
Pohlavívarchar(1),
sgroupint)
Vložit do@stuinfo
vybrat 1,'Zhang San','m',1Unie všichni
vybrat 2,'Li Si','f',1Unie všichni
vybrat 3,'Wang Wu','f',2Unie všichni
vybrat 4,'Zhao Liu','m',3Unie všichni
vybrat 5,'Žlutá sedmička','m',3
|
1. Přidejte výraz za případ
Vrací na základě výsledku výrazu.
1
2
3
4
5
6
7
| vybrat*,
Případsgroup
Kdy 1 pakN'Skupina 1'
Kdy 2 pakN'Skupina 2'
Kdy 3 pakN'Skupina 3'
jinakN'Neznámý' konecNázev skupiny
od@stuinfo
|
2. Žádný výraz za pádem
Bez výrazu se vrací podle podmínky kdy.
| vybrat*,
Případ
Kdysgroup = 1agender ='m' pakN'První skupina chlapců'
Kdysgroup = 1agender ='f' pakN'První skupina dívek'
Kdysgroup = 2agender ='m' pakN'Druhá skupina chlapců'
Kdysgroup = 2agender ='f' pakN'Druhá skupina dívek'
Kdysgroup = 3agender ='m' pakN'Třetí skupina chlapců'
Kdysgroup = 3agender ='f' pakN'Třetí skupina dívek'
jinakN'Neznámý' konecKomentář
od@stuinfo
|
3. Pro pořadí podle
Pokud uložený postup potřebuje podporovat více třídění, můžete předat parametrickou proměnnou a pak na základě ní hodnotit.
1
2
3
4
5
6
7
| Deklarujte@orderbyint
Sadu@orderby = 1
vybrat * od@stuinfo
Řád autor
Případ Kdy@orderby = 1pakidkonec popis,
Případ Kdy@orderby = 2pakidkonec
|
Použijte zde více případů, protože desc musí být umístěno až za end, jinak by mohly vzniknout syntaxní chyby.
4. Příklad:
vyberte a.ApplyId,a.Code,a.CostItemId,a.CostItemName,a.CostItemName,a.CreatedDate,a.CreatedUserId,a.EquipmentCategroyId,a.Flag,a.FlowTime,a.Name,a.ParentId,a.PassingUserId,a. PassingUserIds,a.PassingUserNames,a.ProjectId,a.Remark,a.Spec,a.Unit, b.*, c.Code as ParentCode, c.Name as ParentName,Případa.ImportFlag Kdy 0pak 'Není importováno'Kdy1 pak 'Importováno' konecjakoImportFlagz Kategorie vybaveníPřihlásit se jako
inner join ProjectViewForJoin jako b na a.ProjectId = b.ProjectIdForJoin
vnitřní spojení EquipmentEquipmentCategory jako c na a.ParentId = c.EquipmentCategoryId
|