[英]SQL Server: how to add case statement to select
我正在使用以下選擇從數據庫表中查詢日期。
此查詢的輸入(ms)來自xml字符串,然后存儲過程循環遍歷xml中的所有單個值,以為每個值返回一個確定的數字(整數)。 到目前為止,這個工作正常。
如果輸入(ms)為空/什么都不是,有沒有辦法我可以返回占位符數字(如99999)? 目前,在我無法用來將其標識為0的情況下,以下返回0,在其他情況下也可能是有效的結果。
到目前為止,我的存儲過程:
SELECT ms as date,
type,
(
SELECT COUNT(calendar_dt)
FROM Calendar
WHERE day_of_week NOT IN (1, 7)
AND calendar_dt > GETDATE()
AND calendar_dt <= ms
) as bDays
FROM @dates
FOR XML PATH('ms'), ELEMENTS, TYPE, ROOT('ranks')
蒂姆,在此先感謝您的幫助。
如果“ ms”列實際上為NULL或已填充,則只需使用ISNULL。
http://technet.microsoft.com/en-us/library/ms184325.aspx
SELECT ISNULL(ms, 99999) AS date
但是,如果該列可以包含一個空字符串,該字符串與NULL不同,則也可以使用NULLIF。
http://technet.microsoft.com/en-us/library/ms177562.aspx
SELECT ISNULL(NULLIF(ms,''), 99999) AS date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.