【发布时间】:2016-06-22 22:48:46
【问题描述】:
长话短说,如果存储值为空,我需要返回一个 varchar 值,但要么给我一个 NULL 值,要么给我一个 varchar 值,这里是代码。
在表中我有一些字段为空,一些字段包含数据
CASE WHEN DS.DBIRTH+DS.MBIRTH+DS.YBIRTH =
'' THEN CONVERT(VARCHAR(10),PT.CLIENTDBIRTHDATE,111)
ELSE 'INPUT DATE OF BIRTH'
CASE WHEN PT.CLIENTBIRTHDATE IS NULL THEN ''
ELSE '1800-01-01'
END
END AS BFIELD
这给我带来了类似的东西
NULL
1917/05/02
NULL
1923/02/02
1967/01/05
NULL
但我需要这样的东西
01/01/1800
1917/05/02
01/01/1800
1923/02/02
1967/01/05
01/01/1800
很抱歉这个菜鸟问题
【问题讨论】:
-
案例没有正确嵌套(可能); MySQL 可能会尝试将内部大小写的结果连接到“INPUT DATE OF BIRTH”字符串的末尾。
-
你可以使用 ifnull 像 IFNULL(PT.CLIENTDBIRTHDATE,'1800-01-01')
标签: mysql sql sql-server tsql