SQL-关于日期

前言

本篇博客主要整理关于日期查询等相关知识点及例子。

相关函数

  • GETDATE:SQL SERVER返回当前的日期和时间,例如( “2020-06-22 07:23:59”)
    MySQL 用NOW()函数获得当前时间。
SELECT GETDATE();
  • DATEPART: 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
SELECT GETDATE();--// 2017-06-19 18:06:19.687
SELECT DATEPART(YEAR,GETDATE());--// 2017
SELECT DATEPART(QUARTER,GETDATE());--// 2(季度)
  • DATEADD:函数在日期中添加或减去指定的时间间隔。
SELECT GETDATE();--// 2017-06-20 15:35:27.980
SELECT DATEADD(DAY,1,GETDATE());--// 2017-06-21 15:35:27.980 (后一天)
SELECT DATEADD(DAY,-1,GETDATE());--// 2017-06-19 15:35:27.980(前一天)
  • DATEDIFF:函数返回两个日期之间的时间
    第一个参数常常省略,default值为DAY
SELECT DATEDIFF(DAY,'2017-05-01','2017-06-01');--// 31 
SELECT DATEDIFF(DAY,'2017-06-01','2017-05-01');--// -31
  • YEAR/MONTH/DAY:用于返回日期的年/月/日
SELECT YEAR('2017-06-20');--// 2017
SELECT DATEPART(YEAR,'2017-06-20');--// 2017

SELECT MONTH('2017-06-20');--// 6
SELECT DATEPART(MONTH,'2017-06-20');--// 6

SELECT DAY('2017-06-20');--// 20
SELECT DATEPART(DAY,'2017-06-20');--// 20
  • CONVERT:把日期转换为新数据类型的通用函数。
    CONVERT(data_type(length),expression,style)
CONVERT(VARCHAR(10),GETDATE(),10);--//11-04-11
CONVERT(VARCHAR(10),GETDATE(),110;--//11-04-2011

style 参数的值对应不同的format,查表可得:
https://www.runoob.com/sql/func-convert.html

  • DATE_FORMAT: MySQL 函数用于以不同的格式显示日期/时间数据。
    format格式查表可得。
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');--//Dec 29 2008 11:45 PM
DATE_FORMAT(NOW(),'%m-%d-%Y');--//12-29-2008

例子

  1. 指定2020年02月的方法:
    where / having +
(1)order_date between '2020-02-01' and '2020-02-29'
(2)order_date like '2020-02%' --//like 匹配指定模式,"%" 可用于定义通配符(模式中缺少的字母)
(3)DATE_FORMAT(order_date,'%Y-%m') = '2020-02'
(4)LEFT(order_date,7) = '2020-02'
(5)substr(order_date,0,7) = '2020-02' --//oracle substr(字符串,截取开始位置,截取长度) 0和1都是表示截取的开始位置为第一个字符
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值