• 提前声明:此笔记只用作学习之用,欢迎各位同学交流指正~~

常见的关系型数据库管理系统有Oracle、MySQL、Microsoft SQL Server等。本篇笔记以Microsoft SQL Server为模拟数据库。

  • 日期类型

像其他数据类型一样,每种数据库都有自己的形式和语法来存储日期型数据。其中,Microsoft SQL Server数据库可存储的日期型数据如下:

datetime,存储日期和时间信息

smalldatetime,存储日期和时间,但取值范围小于datetime

date,存储日期值

time,直接存储时间

  • 日期函数

日期函数用于调整日期和时间数据的外观,以适当的方式显示日期和时间数据、进行比较、计算日期之间的间隔等。

注意:每一种数据库都有自己的数据类型来存储日期和时间数据,日期和时间的全部元素都保存在相关的数据类型里,即日期实际的存储方式取决于具体的数据库。但大多数数据库遵循ANSI标准 。同样的道理,日期函数在每个不同数据库里有区别。此篇笔记以Microsoft SQL Server为模拟数据库。

1、当前日期

Microsoft SQL Server数据库通过GETDATE()函数获取当前日期。举例如下:

SELECT GETDATE()

Dec 31,2010

2、日期相加

DATEADD()在日期中添加或减去指定的时间间隔.

DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值(缩写):

yy,yyyy 年

qq,q 季度

mm,m 月

dy,y 年中的日,即从历年的第一天起累积的天数

dd,d 日

wk,ww 周

dw,w 星期

hh 小时

mi,n 分钟

ss,s 秒

ms 毫秒

举例如下:

在当前日期上加两个月

select DATEADD(mm,2,'2014-12-30') 结果:2015-02-28

select DATEADD(MONTH,2,'2014-12-30') 结果:2015-02-28

也可以直接用“MONTH”的英文全品表示在当前月份上加两个月。

在当前日期上加两天

select DATEADD(dd,2,'2014-12-30') 结果: 2015-01-01

select DATEADD(day,2,'2014-12-30') 结果: 2015-01-01

也可以直接用“DAY”的英文全品表示在当前日期上加两天。

参考引用资料:

Sql server DATEADD日期函数的使用 - 石涛涛 - 博客园​www.cnblogs.com

3、日期相减

获得两个日期间的时间间隔,可获得天数差、小时差等。获得什么形式的差值,取决于datepart参数的取值。

DATEDIFF(datepart,startdate,enddate)

参数解释:

startdate:开始日期;enddate :结束日期

datepart参数的取值列表如下(缩写):

年 yy, yyyy

季度 qq, q

月 mm, m

年中的日,即历年的第一天累积的天数 dy, y

日 dd, d

周 wk, ww

星期 dw, w

小时 hh

分钟 mi, n

秒 ss, s

毫秒 ms

微妙 mcs

纳秒 ns

举例:

返回两个日期日期之间的时间间隔(日期差和小时差)

SELECT DATEDIFF(DAY,'2019-02-22','2019-03-22') AS 日期差 结果:28

SELECT DATEDIFF(HOUR,GETDATE(),'2019-02-23') AS 小时差 结果:8

示例参考引用:

SQL函数之日期时间函数:GETDATE,DAY,MONTH,YEAR,DATEDIFF,DATEADD函数_皮卡丘丘丘~~~-CSDN博客​blog.csdn.net
80af07c81e7c0b20366a2f7722623196.png

4、其他日期函数

YEAR(),提取出指定日期中的年

MONTH(),提取出指定日期中的月份

DAY(),提取出指定日期中的天

举例:

MONTH函数返回表示日期中“月份”部分的一个整数。

SELECT MONTH(GETDATE()) AS '月份'

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐