NULLIF仅在MySql中的UNION ALL语句中截断日期值

时间:2016-11-05 19:38:55

标签: mysql union-all nullif

我正在使用类似于此的语句将结果合并到两个相似的表中。

select sale_time, nullif(sale_time, '0000-00-00') as 'nullif_sale_time'
from tblCompletedSales
union all
select sale_time, nullif(sale_time, '0000-00-00') as 'nullif_sale_time'
from tblOpenSales;

sale_time是两个表上的时间戳字段。在nullif_sale_time中,我获得了截断版本,而不是获取完整日期。换句话说,如果sale_time是'2015-08-12 09:33:46'nullif_sale_time将是'2015-0'。对于来自tblCompletedSales和tblOpenSales的记录都是如此。

示例:

sale_time             nullif_sale_time
2015-06-15 10:44:44   2015-0

如果我在没有联合的情况下运行任何一个语句,它们都按预期工作。这已经按预期工作到今天。这发生在我的本地计算机和远程服务器上。

是什么导致这个?有什么我想念的吗?

编辑:

Here is a fiddle that shows the same thing.

0 个答案:

没有答案