Niech liczby pokazują SQL słów
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Stosowanie operacji trójocznych jest w porządku
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png SQL może być również napisany wybierz *, Grupa przypadków gdy 1, to N'Grupa 1' gdy 2, to N'Grupa 2' gdy 3, to N'Grupa 3' else N'unknown' end group name od @stuinfo =========== Tematem jest SQL wybierz a.StandardId,a.StandardType, przypadek StandardStatus gdy 1, to N'void' gdy 2, to N'Obecnie Ważne' gdy 3, to N'to będzie implementowane'"; w przeciwnym razie N'unknown' koniec nazwy grupy, a.StandardowyTytuł,a.Data wdrożenia,a.Data wydania z OATestStandard a
Adres uczenia SQL https://www.cnblogs.com/4littleProgrammer/p/4820006.html
Już prawie czas kończyć pracę, więc poświęć chwilę, by podsumować użycie SQL w przypadku.
Rola CASE w SQL:Wyrażenie używane do obliczania listy warunków i zwraca jeden z możliwych wyników.Typ przypadku SQL to If-Esle If-Else lub Switch w językach programowania, ale nie służy do sterowania procesem wykonywania programów SQL, lecz jako funkcjakolumnaLogiczne użycie.
Składnia:
sprawa [input_expression]
kiedy when_expression wtedy result_expression
[... n]
[inne else_result_expression]
koniec
Uwaga: [] jest opcjonalne.
Przygotuj dane testowe:
1
2
3
4
5
6
7
8
9
10
11
12
| deklaruj@stuinfoTabela
(idint,
Sname Nvarchar(20),
Płećvarchar(1),
sgroupint)
Insert do@stuinfo
wybrać 1,'Zhang San','m',1Unia wszystkie
wybrać 2,'Li Si','f',1Unia wszystkie
wybrać 3,'Wang Wu','f',2Unia wszystkie
wybrać 4,'Zhao Liu','m',3Unia wszystkie
wybrać 5,'Żółta Siódemka','m',3
|
1. Dodaj wyrażenie po przypadku
Zwraca na podstawie wyrażenia wyniku.
1
2
3
4
5
6
7
| wybrać*,
Sprawasgroup
gdy 1 potemN'Grupa 1'
gdy 2 potemN'Grupa 2'
gdy 3 potemN'Grupa 3'
elseN'Nieznany' koniecNazwa grupy
od@stuinfo
|
2. Brak wyrażenia po przypadku
Bez wyrażenia jest zwracana zgodnie z warunkiem kiedy.
| wybrać*,
Sprawa
gdysgroup = 1orazpłeć ='m' potemN'Pierwsza grupa chłopców'
gdysgroup = 1orazpłeć ='f' potemN'Pierwsza grupa dziewczyn'
gdysgroup = 2orazpłeć ='m' potemN'Druga grupa chłopców'
gdysgroup = 2orazpłeć ='f' potemN'Druga grupa dziewczyn'
gdysgroup = 3orazpłeć ='m' potemN'Trzecia grupa chłopców'
gdysgroup = 3orazpłeć ='f' potemN'Trzecia grupa dziewczyn'
elseN'Nieznany' konieckomentarz
od@stuinfo
|
3. Dla rozkazu
Jeśli procedura przechowywana musi obsługiwać wiele sortowania, możesz przekazać zmienną parametrów i ocenić na jej podstawie.
1
2
3
4
5
6
7
| deklaruj@orderbyint
Zestaw@orderby = 1
wybrać * od@stuinfo
Kolejność autor:
Sprawa gdy@orderby = 1potemidkoniec opis,
Sprawa gdy@orderby = 2potemidkoniec
|
Użyj tu kilku przypadków, ponieważ desc musi być umieszczone po end, inaczej pojawią się błędy składniowe.
4. Przykład:
wybierz a.ApplyId,a.Code,a.CostItemId,a.CostItemName,a.CostItemName,a.CreatedUserId,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 jako ParentCode, c.Name jako ParentName,Sprawaa.ImportFlag gdy 0potem 'Nie importowane'gdy1 potem 'Importowane' koniecjakoImportFlagz Kategoria wyposażeniaAplikuj jako
inner join ProjectViewForJoin jako b na a.ProjectId = b.ProjectIdForJoin
wewnętrzny połączenie EquipmentEquipmentCategory jako c na a.ParentId = c.EquipmentCategoryId
|