Hy all ..我有一张桌子,我用以下格式存储日期:'YYYY-mm-dd 00-00-00'。现在我想制作一个select语句并显示所有记录,其中日期是我给出的日期。像这样:
$c=mysql_query("SELECT * FROM useri where data_creare_user BETWEEN '2012-06-01' AND '20120-06-05' ");
$d=mysql_fetch_array($c);
echo $d['nume'];
我知道我必须以某种方式转换表格中的日期,但我似乎无法弄清楚。你能告诉我锄头根据选择陈述显示记录吗?
答案 0 :(得分:1)
如果您的data_creare_user
列不是合适的temporal data type数据类型,则应该是。{p>然后:
SELECT *
FROM useri
WHERE DATE(data_creare_user) BETWEEN '2012-06-01' AND '2012-06-05'
答案 1 :(得分:0)
听起来你正在使用VARCHAR将日期保存为字符串。如果您可以更改架构,最好使用DATE或DATETIME类型。也就是说,MySQL提供函数STR_TO_DATE()
来帮助解决这个问题。您的查询将类似于:
SELECT * FROM useri WHERE STR_TO_DATE(data_creare_user, '%Y-%m-%d %H-%i-%s') BETWEEN STR_TO_DATE('2012-06-01', '%Y-%m-%d') AND STR_TO_DATE('20120-06-05','%Y-%m-%d');