MySQL IN BETWEEN 无条件

标签 mysql sql database logic

我想编写一个 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/

相关文章:

php - 这个 mysql 查询出了什么问题?

Cakephp:在Sql日志中查询后打印注释

sql - 删除 T-SQL 中字符串中的最后一个字符?

SQL动态结构

php - 如何解决 Laravel 中的数据库更新错误

mysql - 将表连接到较早连接的表上

php - 如何将表从一个mysql数据库复制到另一个mysql数据库

mysql - SQL - LEFT JOIN,但我希望 COUNT(*) 只计算连接的 INNER 部分的结果

android - 基于 REST 的客户端-服务器同步

database - UML 状态图 + 导航栏 + 多个退出操作