Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách sử dụng Câu lệnh Trường hợp để Định dạng có Điều kiện trong Truy vấn Chọn - Hướng dẫn SQL Server / TSQL Phần 116

Tình huống:

Bạn đang làm việc với tư cách là nhà phát triển SQL Server, bạn cần truy vấn bảng dbo.Customer có cột CountryShortName với các chữ viết tắt của quốc gia. Bạn muốn tạo các cột khác có Tên đầy đủ Quốc gia bằng cách sử dụng các giá trị cột CountryShortName. Bạn sẽ làm điều đó như thế nào?

Giải pháp:

Bạn có thể sử dụng biểu thức Trường hợp để tạo cột mới này tùy thuộc vào giá trị của CountryShortName. Trong ví dụ của chúng tôi, chúng tôi chỉ sử dụng các cột đơn nhưng bạn có thể sử dụng nhiều cột và kiểm tra nhiều điều kiện.
Hãy tạo bảng dbo.Customer với một số dữ liệu mẫu và sau đó chúng tôi sẽ viết câu lệnh Select của mình với biểu thức 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) Bạn có thể sử dụng Tên cột mà bạn muốn kiểm tra các giá trị ngay sau Trường hợp như hình dưới đây. Sau đó viết tất cả các điều kiện vào cột đó và cuối cùng sử dụng 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
 
Cách sử dụng Câu lệnh trường hợp trong SQL Server - Hướng dẫn SQL Server / TSQL
 
 Nếu bạn không thích sử dụng phần khác, bạn có thể loại bỏ phần đó nhưng trong trường hợp khi bạn sẽ có giá trị và nó không phù hợp với điều kiện của bạn, Nó sẽ trả về Null. Trong trường hợp của tôi, Nếu giá trị không khớp với điều kiện của tôi, tôi muốn hiển thị là "Không được cung cấp" bằng cách sử dụng phần Khác. 
2) Không sử dụng Tên cột ngay sau từ khóa Trường hợp
> Bạn cũng có thể viết câu lệnh tình huống như hình dưới đây. Trong ví dụ dưới đây, chúng tôi đã không viết Tên cột ngay sau Trường hợp. Trong trường hợp này, chúng ta phải gõ cột sau mỗi When. Cách viết này được sử dụng khi bạn muốn kiểm tra điều kiện cho nhiều cột hoặc dải giá trị.
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
 
Cách sử dụng Câu lệnh Trường hợp để Định dạng có Điều kiện trong Truy vấn SQL - Hướng dẫn SQL Server / TSQL
 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thực hiện một số việc như:SỬ DỤNG @databaseName

  2. @@ DATEFIRST - Ngày đầu tiên trong tuần trong SQL Server

  3. Cách chuyển đổi chuỗi thành ngày / giờ trong SQL Server bằng cách sử dụng PARSE ()

  4. Có Rủi ro Bảo mật Liên quan đến Giám sát Đám mây Spotlight không?

  5. Chuyển đổi ngày và văn hóa:Sự khác biệt giữa DATE và DATETIME