为什么
SELECT IF(mytimestamp IS NULL, NULL, mytimestamp) FROM fixed_date
返回NULL(如预期的那样), 但
SELECT IF(mytimestamp IS NULL, NULL, CAST(mytimestamp AS char)) FROM fixed_date
返回'0000-00-00 00:00:00'?
我需要让后者返回NULL,这就是我要问的原因。那我该怎么做呢?
编辑:mytimestamp是一个TIMESTAMP。如果mytimestamp = NULL,我希望两个语句都返回null。在我的情况下,时间戳必须转换为CHAR,因为我的前端需要这样(实际上它有点复杂)。
解决方案:我已将'mytimestamp'设置为NOT NULLable(并将DEFAULTint设置为'0000-00-00 ...'。将其设置为NULLable,它按预期工作(返回NULL)。对不起,我的错。
谢谢, 哈德