SQL中日期常用的函数收藏

日期用到的,即全拼和缩写都可以放到参数里面表达
Year Yy yyyy 年 1753 ~ 9999 
Quarter Qq q   季 
1 ~ 4 
Month Mm m   月1 ~ 12 
Day of year Dy y 一年的日数,一年中的第几日 1-366 
Day Dd d   日,1-31 
Weekday Dw w 一周的日数,一周中的第几日 
1-7 
Week Wk ww 周,一年中的第几周 
0 ~ 51 
Hour Hh h   时0 
~ 23 
Minute Mi n 分钟0 
~ 59 
Second Ss s 秒 
0 ~ 59 
Millisecond Ms 
- 毫秒 0 ~ 999 
========================================================
1getdate()函数
返回当前时间
select getdate()
                                                       
------------------------------------------------------ 
2009-02-05 11:18:39.770

(所影响的行数为 
1 行)

==========================================================
2:dateadd函数
第一个参数是要添加的类型,比如MM,第二个参数你要添加多少,第三个是你要往哪里添加
SELECT DATEADD(m,2,'2004-1-1')[DATELIHAN]
DATELIHAN                                              
------------------------------------------------------ 
2004-03-01 00:00:00.000

(所影响的行数为 
1 行)

SELECT DATEADD(YY,1,'2004-1-1')[DATELIHAN]
DATELIHAN                                              
------------------------------------------------------ 
2005-01-01 00:00:00.000

(所影响的行数为 
1 行)
===================================================================================
3:datediff函数
返回参数二与参数三两个日期之间的差值 参数三
-参数二 返回类型为参数一
select datediff(dd,'2009-12-27','2009-12-25')[DATELIHAN]
DATELIHAN   
----------- 
-2

(所影响的行数为 
1 行)
select datediff(yy,'2007-12-27','2009-12-25')[DATELIHAN]
DATELIHAN   
----------- 
2

(所影响的行数为 
1 行)
=================================================================================
4:datepart函数
返回参数二中对应的参数一的值
select datepart(mm,'2008-08-07')[月份]
select datepart(yy,'2008-08-07')[年份]
月份          
----------- 
8

(所影响的行数为 
1 行)

年份          
----------- 
2008

(所影响的行数为 
1 行)

========================================================================================
5:datename函数
返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2009-10-15'[星期]
星期                             
------------------------------ 
星期四

(所影响的行数为 
1 行)

=======================================================================================

6:day函数
返回一个整数,表示参数指定的 date 是该月份的哪一天
select day('2009-2-5')[第几天]
第几天         
----------- 
5

(所影响的行数为 
1 行)
=========================================================================================

7:month函数
返回一个整数,表示指定参数的 date 是该年的哪一月
SELECT month('2007-04-30');
            
----------- 
4

(所影响的行数为 
1 行)
=================================================================================

8:year函数
返回一个整数,表示参数指定的 date 是哪一年
SELECT year('2007-04-30');
----------- 
2007

(所影响的行数为 
1 行)
============================================================================
例如想要查询距离现在10天以内的记录
select * from tablename where datediff(day,你的日期字段,getdate())<10
例如想查询一段时间内的记录
select * from talbename where 你的日期字段 between 日期一 and 日期二
原文地址:https://www.cnblogs.com/dupeng0811/p/1384694.html