0

大家好..我有一个表格,我以以下格式存储日期:'YYYY-mm-dd 00-00-00'。现在我想做一个选择语句并显示日期在我给出的日期之间的所有记录。像这样:

$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'];

我知道我必须以某种方式转换表格中的日期,但我似乎无法弄清楚。你能告诉我锄头根据该选择语句显示记录吗?

4

2 回答 2

1

如果您的data_creare_user列不是合适的时态数据类型数据类型,它应该是。然后:

SELECT *
FROM   useri
WHERE  DATE(data_creare_user) BETWEEN '2012-06-01' AND '2012-06-05'
于 2012-06-10T21:57:19.557 回答
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');
于 2012-06-10T22:08:57.727 回答