Skenario:
Anda bekerja sebagai pengembang SQL Server, Anda perlu menanyakan tabel dbo.Customer yang memiliki kolom CountryShortName dengan singkatan negara. Anda ingin membuat kolom lain dengan nama Lengkap Negara dengan menggunakan nilai kolom CountryShortName. Bagaimana Anda melakukannya?Solusi:
Anda dapat menggunakan ekspresi Kasus untuk menghasilkan kolom baru ini tergantung pada nilai CountryShortName. Dalam contoh kami, kami hanya menggunakan satu kolom tetapi Anda dapat menggunakan beberapa kolom dan memeriksa beberapa kondisi.Mari kita buat tabel dbo.Customer dengan beberapa data sampel dan kemudian kita akan menulis pernyataan Select dengan ekspresi Case.
Create table dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2)) GO insert into dbo.Customer Values ( 1,'Raza','M','PK'), (2,'Rita','John','US'), (3,'Sukhi','Singh',Null)
1) Anda dapat menggunakan Nama Kolom yang ingin Anda periksa nilainya tepat setelah Kasus seperti yang ditunjukkan di bawah ini. Kemudian tulis semua ketentuan pada kolom tersebut dan terakhir gunakan End as NewColumnName
Select FName, LName, CountryShortName, Case CountryShortName When 'Pk' Then 'Pakistan' When 'US' Then 'United States of America' When 'IN' Then 'India' Else 'Not Provided' End AS CountryFullName From dbo.Customer
Cara menggunakan Pernyataan Kasus di SQL Server - Tutorial SQL Server / TSQL |
Jika Anda tidak suka menggunakan bagian Else, Anda dapat menghapusnya tetapi jika Anda memiliki nilai dan tidak sesuai dengan kondisi Anda, itu akan mengembalikan Null. Dalam kasus saya,Jika nilai tidak sesuai dengan kondisi saya, saya ingin menunjukkan sebagai "Tidak Disediakan" dengan menggunakan bagian Lain.
2) Jangan gunakan Nama Kolom tepat setelah kata kunci Kasus Anda juga dapat menulis pernyataan kasus seperti yang ditunjukkan di bawah ini. Dalam contoh di bawah ini, kami tidak menulis Nama Kolom tepat setelah Kasus. Dalam hal ini kita harus mengetikkan kolom setelah setiap When. Cara penulisan ini digunakan ketika Anda ingin memeriksa kondisi untuk beberapa kolom atau rentang nilai.
Select FName, LName, CountryShortName, Case When CountryShortName='Pk' Then 'Pakistan' When CountryShortName='US' Then 'United States of America' When CountryShortName='IN' Then 'India' Else 'Not Provided' End AS CountryFullName From dbo.Customer
Cara menggunakan Pernyataan Kasus untuk Pemformatan Bersyarat di SQL Query - Tutorial SQL Server / TSQL |