【发布时间】:2017-10-02 03:12:18
【问题描述】:
当日期格式为 00/0000(月为 00,年为 0000)时,如何从数据库中选择日期。
我想从数据库中选择超过 09/2017 的日期
【问题讨论】:
-
您是否尝试过查询,您可以向我们展示一些数据吗?您是否将日期存储为文本?
-
认真考虑将日期存储为日期
当日期格式为 00/0000(月为 00,年为 0000)时,如何从数据库中选择日期。
我想从数据库中选择超过 09/2017 的日期
【问题讨论】:
永远不要将日期存储为文本,始终使用日期列类型。如果您必须按原样继续,您可以尝试以下查询:
SELECT *
FROM yourTable
WHERE
STR_TO_DATE(CONCAT('01/', date), '%d/%m/%Y') > '2017-09-01'
此查询使用STR_TO_DATE 从您的字符串数据构建一个正确的日期,然后将该日期与您想要的限制进行比较。
【讨论】:
您可以使用 DATE_FORMAT() 提取月份和年份
SELECT CONCAT(DATE_FORMAT(date_column, '%m'),'/', DATE_FORMAT(date_column, '%Y'))
【讨论】: