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
========================================================
1: getdate()函数
返回当前时间
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/danghuijian/p/4400730.html