SQL中的高级日期函数(上)

平常我们在计算时间或推算日期时都会用到一些日期函数,大多都是些比较常见的,比如YEAR(),MONTH(),DATEADD()等等,今天给大家讲解一些比较高级的日期函数。


测试环境

SQL Server 2017

@@DATEFIRST

作用

针对特定会话,此函数返回 SET DATEFIRST 的当前值。


语法

@@DATEFIRST


注意:SET DATEFIRST n 指定一周的第一天(星期日、星期一、星期二等) 。 n 值的范围为 1 到 7 。


示例

比如我们指定星期天为每周第一天,那么今天(2021-12-08)的

@@DATEFIRST就会返回1。

具体如下:


SET DATEFIRST 1; --表示星期一为每周第一天
SELECT @@DATEFIRST; --返回DATEFIRST的值


结果:

SQL中的高级日期函数(上)

这个函数的可能很多人觉得作用不大,其实对设置每周的第一天是很重要的。美国是把每周的星球日当第一天,而我国通常把星期一当为每周的第一天。

比如我想知道上周第3天的销量,你就需要先定义上周的星期几是第1天,才能进一步计算第3天的销量。



系统时间

获取系统时间有一组函数,常见的有GETDATE函数,此外还有这些函数。

SELECT SYSDATETIME()
SELECT SYSDATETIMEOFFSET()
SELECT SYSUTCDATETIME()
SELECT CURRENT_TIMESTAMP  
SELECT GETDATE()
SELECT GETUTCDATE()


结果:


SQL中的高级日期函数(上)

其中包含UTC的系统时间是世界标准时间,其他为当前时区时间。注意:CURRENT_TIMESTAMP与GETDATE()函数等价。


DATEADD

作用

将指定的 number 值(作为带符号整数)与输入 date 值的指定 datepart 相加,然后返回该修改值 。

语法

DATEADD (datepart , number , date )

其中datepart参数由系统定义,具体参数列表如下:

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns





上一篇:Python之路3【知识点】白话Python编码和文件操作


下一篇:iOS可视化动态绘制连通图(Swift版)