sql server 中的case when then 語句,sqlcase
--select DataName ,
--case Code
--
-- when 'W01' then '男'
--
-- when 'W07' then '女'
--
-- else '其他'
--
-- end as Code
--from dbo.HistoryData
select DataName,
(
case
when Code='W01' then '男'
when Code='W07' then '女'
else '其他'
end
)
from HistoryData
access資料庫中有類似sql server的case when then的語句
Access 沒有 case when
但是有一個 iif 函數可以處理。
SQL Server:
select bb,cc,case aa when '一星級' then '*'
when '二星級' then '** '
when '三星級' then '*** '
when '四星級' then '**** '
when '五星級' then '***** '
end
from aaa
Access:
select bb,cc,iif(aa='一星級','*',iif(aa='二星級','**',iif(aa='三星級','***',iif(aa='四星級','****',iif(aa='五星級','*****'))))) from aaa;
參考資料:hi.baidu.com/...a.html
MS SQL SERVER中,case when then end 的用法
A. 使用帶有簡單 CASE 函數的 SELECT 語句
在 SELECT 語句中,簡單 CASE 函數僅檢查是否相等,而不進行其他比較。 以下樣本使用 CASE 函數更改產品系列類別的顯示,以使這些類別更易理解。
USE AdventureWorks;GOSELECT ProductNumber, Category = CASE ProductLine WHEN 'R' THEN 'Road' WHEN 'M' THEN 'Mountain' WHEN 'T' THEN 'Touring' WHEN 'S' THEN 'Other sale items' ELSE 'Not for sale' END, NameFROM Production.ProductORDER BY ProductNumber;GO
B. 使用帶有 CASE 搜尋函數的 SELECT 語句
在 SELECT 語句中,CASE 搜尋函數允許根據比較值在結果集內對值進行替換。 下面的樣本根據產品的價格範圍將標價顯示為文本注釋。
USE AdventureWorks;GOSELECT ProductNumber, Name, 'Price Range' = CASE WHEN ListPrice = 0 THEN 'Mfg item - not for resale' WHEN ListPrice < 50 THEN 'Under $50' WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250' WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000' ELSE 'Over $1000' ENDFROM Production.ProductORDER BY ProductNumber ;GO
C. 使用 CASE 代替 Microsoft Access 中使用的 IIf 函數
CASE 可與 Microsoft Access 中的 IIf 函數提供相似的功能。 以下樣本顯示一個簡單查詢,它使用 IIf 為名為 db1.ContactInfo 的 Access 表中的 TelephoneInstructions 列提供輸出值。
SELECT FirstName, Lastname, TelephoneNumber, IIf(IsNull(TelephoneInstructions),"Any time", TelephoneInstructions) AS [When to Contact]FROM db1.ContactInfo
以下樣本使用 CASE 為 AdventureWorks 視圖中的 TelephoneSpecialInstructions 列提供輸出值,該視圖名稱為 Person.vAdditionalContactInfo。
USE AdventureWorksGOSELECT FirstName, Lastname, TelephoneNumber, 'When to Contact' = CASE WHEN T......餘下全文>>