Mysql,将日期和时间列合并到时间戳中,有时时间为空

时间:2011-12-16 16:44:38

标签: mysql

我有一个类似于这个问题的问题,但是增加了一个复杂性: MySql, combining date and time column into a time stamp

我有两个列一个用于日期,一个用于时间,我需要将它们组合为时间戳进行比较。在我们的应用程序中设置时间是可选的,在某些情况下它是null。如果我使用CONCAT,它只适用于设置时间的实例。

这是执行此操作的最佳方式,使用UNION进行两次查询吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

当你的是NULL时,使用COALESCE选择默认时间值。

CONCAT(datefield, ' ', COALESCE(timefield, '00:00:00')) AS date

答案 1 :(得分:0)

concat(datefield,' ',ifnull(timefield,'00:00:00')) as date