我有一个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
您可以使用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] 删除。
我来说两句