钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1010154
首页 SQL 正文内容

sql中几月几日比较大小

钟逸 SQL 2025-07-25 21:23:13 3

在SQL中,比较几月几日的大小是一个常见需求。可以通过以下 实现:

使用STR_TO_DATE()函数

sql

STR_TO_DATE('2022-03-08', '%Y-%m-%d')

此函数将字符串转换为日期类型。转换后的日期类型可以进行大小比较。

使用EXTRACT()函数

sql

EXTRACT(MONTH FROM '2022-03-08')

EXTRACT(DAY FROM '2022-03-08')

此函数可分别提取日期中的月份和日期。提取后可进行大小比较。

使用CASE WHEN语句

sql

CASE

WHEN EXTRACT(MONTH FROM '2022-03-08') > EXTRACT(MONTH FROM '2022-02-28')

THEN 1

WHEN EXTRACT(MONTH FROM '2022-03-08') < EXTRACT(MONTH FROM '2022-02-28')

THEN -1

ELSE 0

END

此语句可将两个日期进行比较,返回1(大于)、-1(小于)或0(等于)。

实例

sql

SELECT

CASE

WHEN STR_TO_DATE('2022-03-08', '%Y-%m-%d') > STR_TO_DATE('2022-02-28', '%Y-%m-%d')

THEN '2022-03-08大于2022-02-28'

WHEN STR_TO_DATE('2022-03-08', '%Y-%m-%d') < STR_TO_DATE('2022-02-28', '%Y-%m-%d')

THEN '2022-03-08小于2022-02-28'

ELSE '2022-03-08等于2022-02-28'

END

此查询将输出"2022-03-08大于2022-02-28"。

文章目录
    搜索