-
SQL_日期函数_sql日期函数
- 网站名称:SQL_日期函数_sql日期函数
- 网站分类:技术文章
- 收录时间:2025-09-04 00:22
- 网站地址:
“SQL_日期函数_sql日期函数” 网站介绍
日期函数是数据库中经常需要使用到的,本期将常用的几个日期函数给小伙伴做详细的介绍。
GETDATE()
GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。
SELECT GETDATE()
GETUTCDATE()
GETUTCDATE()函数返回当前UTC(世界标准时间)日期值,即格林尼治时间(GMT)
SELECT GETUTCDATE()
YEAR()
YEAR()函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。
SELECT YEAR(GETDATE())
注意:函数之间只要符合语法规范是可以嵌套的。
MONTH()
MONTH()函数以int数据类型的格式返回特定日期的月份信息。其语法格式为MONTH(date数据)。
SELECT MONTH(GETDATE())
DAY()
DAY()函数以int数据类型的格式返回特定日期的天数信息。其语法格式为DAY(date数据)。
SELECT DAY(GETDATE())
DATEPART(dp,d)
DATEPART(dp,d)函数返回指定日期中相应的部分的整数值。
DATEPART语法格式
DATEPART( datepart , date数据 )
datepart取值
年度 YEAR、YYYY、YY
SELECT DATEPART(YEAR,GETDATE())
-- 2019
月份 MONTH、MM、M
SELECT DATEPART(MONTH,GETDATE())
-- 2
日期 DAY、DD、D
SELECT DATEPART(DAY,GETDATE())
-- 14
周 WEEK、WK、WW
SELECT DATEPART(WEEK,GETDATE())
-- 7 (一年中的第7周)
每周星期几 WEEKDAY、DW
SELECT DATEPART(WEEKDAY,GETDATE())
-- 5 (是从星期日开始计算往后的第几天)
季度 QUARTER、QQ、Q
SELECT DATEPART(QUARTER,GETDATE())
-- 1
一年中第几天 DAYOFYEAR、DY、Y
SELECT DATEPART(DAYOFYEAR,GETDATE())
-- 45
小时 HOUR、HH
SELECT DATEPART(HOUR,GETDATE())
-- 23 (晚上11点还在写公众号的苦逼小编)
分钟 MINUTE、MI、N
SELECT DATEPART(MINUTE,GETDATE())
-- 11
秒 SECOND、SS、SS
SELECT DATEPART(SECOND,GETDATE())
-- 45
毫秒 MILLISECOND、MS
SELECT DATEPART(MILLISECOND,GETDATE())
-- 120
DATENAME(dp,d)
DATENAME(dp,d)函数返回指定日期中相应的部分的字符串,用法与DATEPART类似。
SELECT DATENAME(MONTH,GETDATE())
-- 02
SELECT DATENAME(WEEKDAY,GETDATE())
-- 星期四
SELECT DATENAME(DAY,GETDATE())
-- 14
SELECT DATENAME(WEEK,GETDATE())
-- 7 一年中的第7周
SELECT DATENAME(DAYOFYEAR,GETDATE())
-- 45 一年中的第45天
DATEADD(dp,num,d)
DATEADD(dp,num,d)函数用于执行日期的加运算,返回指定日期值加上一个时间段后的新日期。dp指定日期中进行加法运算的部分值,
例如:YEARMONTH,DAY,HOUR,MINUTE,SECOND,MILLISECOND等,num指定与dp相加的值,如果该值为非整数值,将舍弃该值的小数部分,d为执行加法运算的日期。
DATEADD语法格式
dateadd (datepart,numer,date数据)
numer:用于与detepart相加的值。如果指定了非整数值,则将舍弃该值的小数部分。
date数据:一个用于解析为time、date、smalldatetime、datetime、datetime2、或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。
datepart:时间部分
SELECT DATEADD(YEAR,2,GETDATE())
-- 2021-02-14 23:17:52.550 (年份往后增加2年)
SELECT DATEADD(MONTH,2,GETDATE())
-- 2019-04-14 23:17:52.550 (月份往后增加2个月)
SELECT DATEADD(DAY,2,GETDATE())
-- 2019-02-16 23:17:52.550 (日期往后增加2天)
SELECT DATEADD(YEAR,-2,GETDATE())
-- 2017-02-14 23:37:09.477 (年份往前减少2年)
SELECT DATEADD(MONTH,-2,GETDATE())
-- 2018-12-14 23:37:09.477 (月份往前减少2个月)
SELECT DATEADD(DAY,-2,GETDATE())
-- 2019-02-12 23:37:09.477 (日期往前减少2天)
DATEDIFF(dp,stardate,enddate)
datediff函数将两个特定的日期数据相减,得到的结果可以按照detepart指定的格式返回特定的数据。
语法格式
datediff(datepart,startdate,enddate)
执行中将使用enddate减以startdate的值,如果startdate晚于enddate将返回负值。执行结果如果超出整数范围将提示错误。
SELECT DATEDIFF(YEAR,'2018-5-19','2019-2-14')
-- 1
SELECT DATEDIFF(YEAR,'2020-5-19','2019-2-14')
-- -1
SELECT DATEDIFF(MONTH,'2018-2-14','2019-8-11')
-- 18
SELECT DATEDIFF(MONTH,'2020-2-14','2019-8-11')
-- -6
更多相关网站
- 28个SQL常用的DeepSeek提示词指令,码住直接套用
- SQL - 通过TSQL代码方式进行简单的数据查询 153
- 谁帮我看看,为啥我的PostgreSQL查询速度这么慢???
- Pandas有哪些命令比SQL查询更高效?
- 数仓|四个在工作后才知道的SQL密技
- 黑客小白的进阶之路——SQL注入之MySQL时间注入
- SQL入门知识篇_sql入门语句
- 表格存储 SQL 查询多元索引_sql多表查询的含义
- 使用SQL-Server分区表功能提高数据库的读写性能
- 数据库 SQL 高级用法(二)_高级sql语句
- SQL server查询-扩展查询_sqlserver范围查询
- 掌握SQL基础查询:(二)_sql基本查询语句大全
- SQL时间重叠_sql两个时间字段差
- SQL 的核心目标是 高效获取每个分组中最新时间对应的记录
- SQL练习超详解——窗口函数+时间函数+子查询...
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)