我有一个名为dispatchdate的列,它被存储为VARCHAR(255)。不过,它将日期存储为'12/06/2013‘格式。(DD/MM/YYYY)
我知道我应该使用一个更好的领域,但我仍然是新的/学习MYSQL & PHP。它只在本地电脑上进行测试等.
在我的页面上,我有一个查询,它执行基本的"select * from表“并列出行。
我想重新定义查询,以便输入一个日期范围以缩小我的列表.
我目前正在使用..。
mysql_connect('localhost','root','');
mysql_select_db('operations');
$result = mysql_query("SELECT * FROM dispatch");我想我必须使用STR_TO_DATE将其从varchar转换为日期格式。但%d/%m/%Y显示为“2013-06-12”而不是“12-06-2013”。
如何使用SELECT STR_TO_DATE( dispatchdate, '%d/%m/%Y' )在PHP中构建查询,然后输入要搜索的条件(例如01/07/13 -> 31/07/13)
发布于 2013-07-17 00:55:12
显然,您希望以正在存储的字符格式检索它。所以,不要在select中进行转换。只需在where子句中进行转换即可。例如,获取上周的行:
SELECT *
FROM dispatch
where STR_TO_DATE( dispatchdate, '%d/%m/%Y' ) >= adddate(now(), - 7)https://stackoverflow.com/questions/17689348
复制相似问题