mysql - 选择 SQL 之间的日期。其中日期的格式为 dd/mm/yyyy 并且是一个字符串

标签 mysql sql postgresql

在我的 sql 表中,我有一个格式为“DD/MM/YYYY”的字符串。如何选择日期范围?例如table.date BETWEEN '01/01/2019' 和 '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'

关于mysql - 选择 SQL 之间的日期。其中日期的格式为 dd/mm/yyyy 并且是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59062527/

相关文章:

java - 以编程方式访问 PostgreSQL 异常

postgresql - 将 UPDATE 传播到动态确定的表

MySql - 如何获取最后一个 ALTER TABLE 的日期时间?

sql - 按日期降序排列 - 月、日、年

java - MySQL 插入异常 [JAVA]

php - 防止用户执行两次操作

sql - SQL:一个值的总和,但仅用于不同的ID-条件总和?

sql - postgresql:对于给定的表名,模式名是什么?

mysql - 按 child 和姓名选择语句顺序

mysql - 如何在mysql中按子查询排序