📜  如何只选择某个日期sql(1)

📅  最后修改于: 2023-12-03 15:38:11.796000             🧑  作者: Mango

如何只选择某个日期 SQL

在 SQL 中,我们需要筛选出特定日期的数据时,可以使用如下方法。

使用 DATE() 函数

我们可以使用 DATE() 函数来截取日期,然后与指定日期进行比较,从而只选择某个日期。

SELECT * FROM table_name WHERE DATE(date_column)='2021-01-01';

以上 SQL 查询语句会返回 table_name 表里,所有 date_column 字段值为 2021-01-01 的行数据。

需要注意的是,DATE() 函数截取的是日期 YYYY-MM-DD 格式,如果你的日期格式为其他形式,需要进行转换。

使用日期范围筛选

我们也可以使用 BETWEEN 操作符来筛选某个日期范围内的数据,从而选择某个日期。

SELECT * FROM table_name WHERE date_column BETWEEN '2021-01-01' AND '2021-01-01';

以上 SQL 查询语句会返回 table_name 表里,所有 date_column 字段值为 2021-01-01 的行数据。

需要注意的是,BETWEEN 操作符比较的是闭区间 [start_value, end_value],如果你需要选择某个日期的数据,需要将 start_valueend_value 设置为相同的日期。

使用 EXTRACT() 函数

我们还可以使用 EXTRACT() 函数来获取日期中的某一个部分,如年、月、日等,从而选择某个日期。

SELECT * FROM table_name WHERE EXTRACT(YEAR_MONTH FROM date_column)='202101';

以上 SQL 查询语句会返回 table_name 表里,所有 date_column 字段值对应年月为 2021-01 的行数据。

需要注意的是,EXTRACT() 函数中有多种日期部分可以选择,其对应关系如下:

| 部分名称 | 符号 | 返回值范围 | | ----------------------------- | ---- | ---------------------------------------------------- | | 年 | YEAR | 默认返回值范围,如 2020 | | 季度 | QUARTER | 返回值范围为 1~4 | | 月 | MONTH | 返回值范围为 1~12 | | 日期 | DAY | 返回值范围为 1~31 | | 时 | HOUR | 返回值范围为 0~23 | | 分钟 | MINUTE | 返回值范围为 0~59 | | 秒 | SECOND | 返回值范围为 0~59 | | 年周 | WEEK | 返回值范围为 1~53 | | 年天 | DAYOFYEAR | 返回值范围为 1~366 | | 时间戳(自 1970 年以来的秒数) | UNIX_TIMESTAMP | 返回值范围为整数类型的秒数 | | 年月 | YEAR_MONTH | 返回值范围为 YYYYMM 格式的整数,如 202007 表示 2020 年 7 月 |

结论

以上是几种筛选某个日期的 SQL 句子,根据自己的实际情况选择最合适的方式即可。需要注意的是,不同的数据库系统可能有不同的语法和函数,需要按照对应数据库系统提供的文档进行使用。