我有一个类似于这个问题的问题,但是增加了一个复杂性: MySql, combining date and time column into a time stamp
我有两个列一个用于日期,一个用于时间,我需要将它们组合为时间戳进行比较。在我们的应用程序中设置时间是可选的,在某些情况下它是null。如果我使用CONCAT,它只适用于设置时间的实例。
这是执行此操作的最佳方式,使用UNION进行两次查询吗?
谢谢!
答案 0 :(得分:5)
当你的是NULL时,使用COALESCE选择默认时间值。
CONCAT(datefield, ' ', COALESCE(timefield, '00:00:00')) AS date
答案 1 :(得分:0)
concat(datefield,' ',ifnull(timefield,'00:00:00')) as date