Sayılar kelimelerin SQL'sini göstersin
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Trinoküler işlemler kullanmak sorun değil
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png SQL ayrıca yazılabilir * seç, Vaka grubu 1 olduğunda N'Grup 1' 2 olduğunda N'Grup 2' 3 olduğunda N'Grup 3' else 'bilinmeyen' son grup adı @stuinfo =========== Bu konu SQL select a.StandardId,a.StandardType, case StandardStatus 1 olduğunda N'void' 2 olduğunda N'Şu anda Geçerli' 3 olduğunda N'implement'"; else 'bilinmiyor' son grup adı, a.StandardBaşlık,a.Uygulama Tarihi,a.OATest-den Sürüm TarihiStandard a
SQL öğrenme adresi https://www.cnblogs.com/4littleProgrammer/p/4820006.html
İşten ayrılma zamanı neredeyse geldi, bu yüzden SQL'in vaka kullanımını özetlemek için biraz zaman ayırın.
SQL'deki CASE'in rolü:Bir ifade, bir koşul listesini hesaplamak için kullanılır ve olası sonuçlardan birini döndürür.SQL vaka türü programlama dillerinde If-Esle If-Else veya Switch'tir, ancak SQL programlarının yürütme sürecini kontrol etmek için değil, bir fonksiyon olarak kullanılırSütunmantıklı kullanım.
Sözdizim:
Dava [input_expression]
when_expression sonra result_expression
[... n]
[else else_result_expression]
Son
Not: [] isteğe bağlıdır.
Test verilerini hazırlayın:
1
2
3
4
5
6
7
8
9
10
11
12
| ilan etmek@stuinfoTablo
(idint,
Sname Nvarchar(20),
cinsiyetvarchar(1),
sgroupint)
insert içine@stuinfo
seçmek 1,'Zhang San','m',1Birlik hepsi
seçmek 2,'Li Si','f',1Birlik hepsi
seçmek 3,'Wang Wu','f',2Birlik hepsi
seçmek 4,'Zhao Liu','m',3Birlik hepsi
seçmek 5,'Sarı Yedi','m',3
|
1. Vakadan sonra bir ifade ekleyin
Ifadenin sonucuna göre geri döner.
1
2
3
4
5
6
7
| seçmek*,
Davasgroup
Ne zaman 1 sonraN'Grup 1'
Ne zaman 2 sonraN'Grup 2'
Ne zaman 3 sonraN'Grup 3'
elseN'Bilinmeyen' Songrup adı
Kaynak@stuinfo
|
2. Dava sonrası ifade yok
İfade olmadan, ne zaman koşuluna göre geri verilir.
| seçmek*,
Dava
Ne zamansgroup = 1vecinsiyet ='m' sonraN'İlk erkek grubu'
Ne zamansgroup = 1vecinsiyet ='f' sonraN'İlk kız grubu'
Ne zamangrup = 2vecinsiyet ='m' sonraN'İkinci grup çocuklar'
Ne zamangrup = 2vecinsiyet ='f' sonraN'İkinci kız grubu'
Ne zamansgroup = 3vecinsiyet ='m' sonraN'Üçüncü grup çocuklar'
Ne zamansgroup = 3vecinsiyet ='f' sonraN'Üçüncü kız grubu'
elseN'Bilinmeyen' Sonyorum
Kaynak@stuinfo
|
3. Sipariş için
Eğer saklanan prosedür birden fazla çeşit desteklemesi gerekiyorsa, bir parametre değişkenini geçirip o değişkene göre yargılayabilirsiniz.
1
2
3
4
5
6
7
| ilan etmek@orderbyint
Set@orderby = 1
seçmek * Kaynak@stuinfo
Emir tarafından
Dava Ne zaman@orderby = 1sonraKimliğiSon desc,
Dava Ne zaman@orderby = 2sonraKimliğiSon
|
Burada birden fazla durum kullanın, çünkü desc sondan sonra yerleştirilmeli, aksi takdirde sözdizimi hataları olur.
4. Örnek:
a.ApplyId,a.Code,a.CostItemId,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,Davaa.ImportFlag Ne zaman 0sonra 'İthal edilmemiş'Ne zaman1 sonra 'İthalat' SonolarakImportFlagEquipmentCategory'denApply at
iç birleştir ProjectViewForJoin b olarak a.ProjectId = b.ProjectIdForJoin
iç birleştirme EquipmentEquipmentCategory as c on a.ParentId = c.EquipmentCategoryId
|