我想编写一个 SQL 查询,如果没有分配日期时间,我想替换一个可以选择所有日期和时间的字符串。
实际工作原理:
SELECT * FROM `entry` WHERE `user` like 'TOM' or `user` like 'PHP'
and `entry_datetime` between '2013-03-13 22:20:18' and '2013-03-13 22:20:26'
我的疑问: 如果 php 没有获取日期的值,但我不想通过删除 AND 条件来更改查询,但我想替换日期和时间之间的某些内容,并且查询仍然应该运行:
SELECT * FROM `entry` WHERE `user` like 'TOM' or `user` like 'PHP' and
`entry_datetime` between ' ' and ' '
我尝试了以下但它不起作用?我们可以写这样的查询吗?
SELECT * FROM `entry` WHERE `user` like 'TOM' or `user` like 'PHP' and
`entry_datetime` between '%%' and '%%'
我只是尝试了上面的方法,因为我们在 LIKE 命令中使用了它,所以我试过了?任何建议都会很有帮助。
我不知道我尝试的方式是对还是错,但我无法更改未分配日期值的查询 ID。
最佳答案
您可以为日期时间数据类型使用 MIN 和 MAX 值。
... AND `entry_datetime` BETWEEN '1000-01-01 00:00:00' AND '9999-12-31 23:59:59'
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
关于MySQL IN BETWEEN 无条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040898/