【发布时间】:2012-08-30 00:42:18
【问题描述】:
我有一个包含文本类型列的表,我在插入查询中使用 NOW() 存储各种设置,包括日期。
现在我想从该表中获取该列在特定日期之前的所有行(例如 2012-09-19)。
通过DATE(date_column)<DATE(NOW()) 比较很容易,但我不知道如何传递特定日期而不是 NOW(),因为输入字符串的日期格式可能不同。
这是一个示例代码:
INSERT INTO table (date_column) VALUES (NOW())
选择时:
SELECT * FROM table WHERE DATE(date_column)<DATE('2012-09-19');
编辑:上面的代码确实有效。我最初错过了日期周围的引号。
【问题讨论】:
-
您可以自己添加一个答案并接受它,这样人们就可以看到问题已得到回答。
-
看看 STR_TO_DATE 函数。但是您需要使用 where 子句将行限制为包含日期的行。大概有一个属性名称列。希望你已经从中吸取了教训。两个经典的数据库设计错误合二为一。
标签: mysql date datetime select