【发布时间】:2013-06-11 09:35:40
【问题描述】:
我想写一个 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 没有得到日期的值 from 和 to 但我不想通过删除 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。
【问题讨论】:
-
您可能最好将参数设为可空并执行 if 语句并拆分查询。它会更容易阅读,而且不会有太多额外的代码。
-
我想知道除了更改查询之外还有其他方法吗。我正在寻找变量更改,即仅在值之间更改。
-
你是如何传递日期的,通过参数还是硬编码?