Column d
是日期,列t
是时间,列v
例如,是 INT。假设我需要 2012 年 2 月 1 日 15:00 及之后记录的所有值。如果我写
SELECT * FROM `mytable` WHERE `d` > '2012-02-01' AND `t` > '15:00'
任何日期 15:00 之前创建的所有记录都将从结果集中排除(以及 2012 年 2 月 1 日创建的所有记录),而我想查看它们。如果有一个 DATETIME 列,似乎会很容易,但在我的情况下,有单独的日期和时间列。
我现在能看到的最好的就是这样
SELECT * FROM `mytable` WHERE `d` >= '2012-02-02' OR (`d` = '2012-02-01' AND `t` > '15:00')
还有更好的想法吗?也许MySQL中有这样的函数?是不是有类似的东西
SELECT * FROM `mytable` WHERE DateTime(`d`, `t`) > '2012-02-01 15:00'
可能的?
你可以使用mysqlCONCAT()
函数将两列加在一起,然后像这样比较它们:
SELECT * FROM `mytable` WHERE CONCAT(`d`,' ',`t`) > '2012-02-01 15:00'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)