繁体   English   中英

SQL Server:如何添加案例语句以进行选择

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM