在 SQL 之间选择日期.其中日期采用 dd/mm/yyyy 格式,并且是字符串



在我的sql表中,我有一个格式为'DD/MM/YYYY'的字符串。如何选择日期范围?例如table.date BETWEEN '01/01/2019' and '31/10/2019'?谢谢。

应使用正确的数据类型存储日期。 您必须转换日期,这通常会影响性能。

在Postgres中,您可以执行以下操作:

to_date(table.date, 'DD/MM/YYYY') >= '2019-01-01' AND
to_date(table.date, 'DD/MM/YYYY') < '2020-01-01'

在MySQL中,这将是:

date_format(table.date, '%d/%m/%Y') >= '2019-01-01' AND
date_format(table.date, '%d/%m/%Y') < '2020-01-01' 

在任一数据库中,您还可以使用字符串操作,因为您需要全年:

table.date LIKE '%/2019'

最新更新