SQL Server常用函数汇总

1.day(date)  

 --参数:date是一个可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值的表达式、列表达式、用户定义的变量或字符串文字

 --返回值:一个整数,该整数表示指定的 date 是该月份的哪一天

 用途:获取日期是所在月的几号

 eg: 

day(getdate())  --获取当前时间是当前月份的哪一天

 扩展:

select CONVERT(VARCHAR(10),DATEADD(dd,-day(getdate())+1,getdate()),120)   --获取当月的开始日期
select CONVERT(VARCHAR(10),dateadd(dd,-day(getdate()),dateadd(m,1,getdate())),120)   --获取当月的结束日期

 

2.DATEFIRST 

 用途:设置一周是以星期几开始

 语法:SET DATEFIRST {Num}

 --参数:num是一个数值, 指示一周的第一天的一个整数可以是下列值之一。

一周的第一天是

1

星期一

2

星期二

3

星期三

4

星期四

5

星期五

6

星期六

7 (默认值,美国英语)

星期日

 eg: 

 SET DATEFIRST 1 

 注释:

 (1)若要查看 SET DATEFIRST 的当前设置,请使用 @@DATEFIRST 函数。

    eg: 

SELECT @@DATEFIRST 

 (2)SET DATEFIRST 的设置是在执行或运行时设置,而不是在分析时设置。

 (3)指定 SET DATEFIRST 对 DATEDIFF 不起作用。 DATEDIFF 始终使用星期日作为每周的第一天,以确保函数是确定性的。

 

3.DATEPART()

 用途: DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等

 语法:DATEPART(datepart,date)

         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

 

 eg:

SET DATEFIRST 1       --设置一周的开始为星期一
select datepart(w,getdate())

 扩展:

SET DATEFIRST 1    --设置一周的开始为星期一
select CONVERT(VARCHAR(10),getdate()-datepart(w,getdate())+1,120)   --当前日前所在周的开始日期
 select CONVERT(VARCHAR(10),getdate()-datepart(w,getdate())+7 ,120)   --当前日前所在周的结束日期

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。