Biarkan angka menunjukkan SQL dari kata-kata
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Menggunakan operasi trinocular baik-baik saja
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png SQL juga dapat ditulis pilih *, Grup kasus ketika 1 maka N 'Grup 1' ketika 2 maka N 'Grup 2' ketika 3 maka N'Grup 3' else N'tidak dikenal' nama grup akhir dari @stuinfo =========== Topik ini adalah SQL pilih a.StandardId,a.StandardType, kasus StandardStatus ketika 1 maka N'void' ketika 2 maka N'Saat Ini Valid' ketika 3 maka N'untuk diimplementasikan'"; else N'unknown' end groupname, a.StandardTitle,a.ImplementationDate,a.ReleaseDate dari OATestStandard a
Alamat pembelajaran SQL https://www.cnblogs.com/4littleProgrammer/p/4820006.html
Sudah hampir waktunya untuk pulang kerja, jadi luangkan waktu untuk meringkas kasus penggunaan SQL.
Peran CASE dalam SQL:Ekspresi yang digunakan untuk menghitung daftar kondisi, dan mengembalikan salah satu hasil yang memungkinkan.Jenis kasus SQL adalah If-Esle If-Else atau Switch dalam bahasa pemrograman, tetapi tidak digunakan untuk mengontrol proses eksekusi program SQL, tetapi sebagai fungsikolompenggunaan logis.
Sintaks:
kasus [input_expression]
ketika when_expression maka result_expression
[... n]
[lain else_result_expression]
akhir
Catatan: [] adalah opsional.
Siapkan data pengujian:
1
2
3
4
5
6
7
8
9
10
11
12
| menyatakan@stuinfoTabel
(idint,
nama nvarchar(20),
jenis kelaminvarchar(1),
sgroupint)
Masukkan ke dalam@stuinfo
pilih 1,'Zhang San','m',1serikat pekerja semua
pilih 2,'Li Si','F',1serikat pekerja semua
pilih 3,'Wang Wu','F',2serikat pekerja semua
pilih 4,'Zhao Liu','m',3serikat pekerja semua
pilih 5,'Tujuh Kuning','m',3
|
1. Tambahkan ekspresi setelah kasus
Mengembalikan berdasarkan hasil ekspresi.
1
2
3
4
5
6
7
| pilih*,
kasussgroup
Kapan 1 kemudianN'Kelompok 1'
Kapan 2 kemudianN'Kelompok 2'
Kapan 3 kemudianN'Kelompok 3'
yang lainN'Tidak diketahui' akhirnama grup
dari@stuinfo
|
2. Tidak ada ekspresi setelah kasus
Tanpa ekspresi, itu dikembalikan sesuai dengan kondisi kapan.
| pilih*,
kasus
Kapansgroup = 1danjenis kelamin ='m' kemudianN'Kelompok anak laki-laki pertama'
Kapansgroup = 1danjenis kelamin ='F' kemudianN'Kelompok gadis pertama'
Kapansgroup = 2danjenis kelamin ='m' kemudianN'Kelompok anak laki-laki kedua'
Kapansgroup = 2danjenis kelamin ='F' kemudianN'Kelompok gadis kedua'
Kapansgroup = 3danjenis kelamin ='m' kemudianN'Kelompok anak laki-laki ketiga'
Kapansgroup = 3danjenis kelamin ='F' kemudianN'Kelompok gadis ketiga'
yang lainN'Tidak diketahui' akhirkomentar
dari@stuinfo
|
3. Untuk pesanan oleh
Jika prosedur tersimpan perlu mendukung beberapa pengurutan, Anda dapat meneruskan variabel parameter dan kemudian menilai berdasarkan variabel tersebut.
1
2
3
4
5
6
7
| menyatakan@orderbyint
mengatur@orderby = 1
pilih * dari@stuinfo
Urutan oleh
kasus Kapan@orderby = 1kemudianIdakhir desc,
kasus Kapan@orderby = 2kemudianIdakhir
|
Gunakan beberapa kasus di sini, karena desc perlu ditempatkan setelah akhir, jika tidak, akan ada kesalahan sintaks.
4. Contoh:
pilih 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 sebagai ParentCode, c.Name sebagai ParentName,kasusa.Bendera Impor Kapan 0kemudian 'Tidak diimpor'Kapan1 kemudian 'Diimpor' akhirsebagaiBendera Impordari EquipmentCategoryApply sebagai
join dalam ProjectViewForJoin sebagai b pada a.ProjectId = b.ProjectIdForJoin
bergabung dalam EquipmentEquipmentCategory sebagai c pada a.ParentId = c.EquipmentCategoryId
|