SQL数值至今(例外)

达科他州

我有一个SQL查询,其中我要查询一个表中的特定数据,并将日期存储在“数值列”中。我正在使用以下查询将数字日期转换为实际日期,但是我有一些实例,其中数字值为0,这意味着开始日期是2013年10月31日,没有结束日期,这意味着0是一个公开记录。有没有一种方法可以添加错误捕获,如果该值为0,则仅返回0或“打开”并继续?

 SELECT WMACCT# as 'Account #', CONVERT(Date, CONVERT(Varchar(8),OPENDT),104)
 as 'Open Date',

 CONVERT(Date, CONVERT(Varchar(8),CLDT),104)as 'Close Date'From 
 server.server 
菲利普·席尔瓦(Filipe Silva)

您可以使用CASE WHEN来设置日期为0时所需的值,并对其余值进行操作:

SELECT WMACCT# AS 'Account #',
  CASE 
    WHEN OPENDT = 0 THEN '2013-10-31'
        ELSE CONVERT(DATE, CONVERT(VARCHAR(8), OPENDT), 104)
    END AS 'Open Date',
  CASE 
    WHEN DATE = 0 THEN NULL
        ELSE CONVERT(DATE, CONVERT(VARCHAR(8), CLDT), 104)
    END AS 'Close Date'
FROM SERVER.SERVER

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章