SQL SERVER中常用日期函数的具体使用

2023年 4月 14日 55.0k 0

1 GETDATE() 返回当前系统日期 SELECT GETDATE() 2 DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回 常数为正 SELECT DATEADD(YY,1,GETDATE()) 等同于 SELECT DATEADD(YEAR,1,GETDATE(

1 GETDATE() 返回当前系统日期

SELECT GETDATE()

在这里插入图片描述

2 DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回

常数为正

SELECT DATEADD(YY,1,GETDATE())

在这里插入图片描述

等同于

SELECT DATEADD(YEAR,1,GETDATE())

在这里插入图片描述

常数为负数

SELECT DATEADD(YY,-2,GETDATE())

在这里插入图片描述

常数为小数(直接舍去小数部分)

SELECT DATEADD(YY,2.4,GETDATE())
SELECT DATEADD(YY,2.5,GETDATE())
SELECT DATEADD(YY,2.6,GETDATE())

在这里插入图片描述

3 DATEDIFF( 日期部分,日期1,日期2) 返回两个日期之间的差值,日期部分(日期1-日期2)

日期1>日期2

SELECT DATEDIFF(YY,‘2008/1/1',GETDATE())

在这里插入图片描述

日期1<日期2

SELECT DATEDIFF(YY,GETDATE(),‘2008/1/1')

在这里插入图片描述

4 DATENAME() 返回指定日期的日期部分的字符串(返回字符串)

SELECT DATENAME(YY,GETDATE())

在这里插入图片描述

'+'是连接符号

SELECT DATENAME(YY,GETDATE())+DATENAME(QQ,GETDATE()) --QQ 是QUATRER代表季度

在这里插入图片描述

5 DATEPART() 返回指定日期的日期部分的整数(返回整数)

SELECT DATEPART(YY,GETDATE())

在这里插入图片描述

'+'是加符号

SELECT DATEPART(YY,GETDATE())+DATEPART(QQ,GETDATE())

在这里插入图片描述

6 DAY() 返回指定日期的日部分的整数

SELECT DAY(GETDATE())

在这里插入图片描述

7 MONTH() 返回指定日期的月部分的整数

SELECT MONTH(GETDATE())

在这里插入图片描述

8 YEAR() 返回指定日期的年部分的整数

SELECT YEAR (GETDATE())

在这里插入图片描述

补充:

时间转换:

select convert(varchar(12),getdate(),101) 07/16/2010
select convert(varchar(12),getdate(),102) 2010.07.16
select convert(varchar(12),getdate(),103) 16/07/2010
select convert(varchar(12),getdate(),104) 16.07.2010
select convert(varchar(12),getdate(),105) 16-07-2010
select convert(varchar(12),getdate(),106) 16 Jul 2010
select convert(varchar(12),getdate(),107) Jul 16, 2010
select convert(varchar(12),getdate(),108) 11:58:49
select convert(varchar(12),getdate(),109) Jul 16 2010
select convert(varchar(12),getdate(),110) 07-16-2010
select convert(varchar(12),getdate(),111) 2010/07/16
select convert(varchar(12),getdate(),112) 20100716
select convert(varchar(12),getdate(),113) 16 Jul 2010
select convert(varchar(12),getdate(),114) 11:59:35:930

当月第一天

select dateadd(mm,datediff(mm,0,getdate()),0)

本周星期一

select dateadd(wk,datediff(wk,0,getdate()),0)

本年第一天

select dateadd(yyyy,datediff(yyyy,0,getdate()),0)

--本月最后1天

select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate())+1,0))

--本周最后一天,注意sql精确到3毫秒。。。

select dateadd(ms,-3,dateadd(wk,datediff(wk,0,getDate())+1,0));

本月的第一个星期一

select dateadd(wk,dateDiff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0);

到此这篇关于SQL SERVER中常用日期函数的具体使用的文章就介绍到这了,更多相关SQL SERVER常用日期函数内容请搜索每日运维以前的文章或继续浏览下面的相关文章希望大家以后多多支持每日运维!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论