菜单

时间日期加减处理函数,时间日期处理函数

2020年5月8日 - 数据网络

分享一篇在sql中的一些常用的时间日期处理函数,包括有-DATEPART DATEDIFF
CONVERT getdate() DATEADD几个函数

复制代码 代码如下: –获取当前时间 Select
getdate() –获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒
/* year yy 1753–9999 quarter qq 1–4 month mm 1–12 day of year dy
1–366 day dd 1–31 week wk 1–53 weekday dw 1–7(Sunday–Saturday) hour
hh 0–23 minute mi 0–59 second ss 0–59 milisecond ms 0–999 */
–DATEPART与DATENAME实现差不多,都能实现同样效果,DATEPART返回的是整数,DATENAME返回的是字符
Select DATEPART(qq,getdate()) –获取前时间的前几天 -d ;后几天 +d Select
getdate()-1 –获得两段时间相距的几年 yy,几月 mm,几日 dd Select
DATEDIFF(dd,’2011-7-7′,getdate()) –将字符串类型的日期转为日期类型的
Select CONVERT (DATETIME,’2011-8-6′)) –在当前时间上加上或减去年月日
Select DATEADD(mm,-2,getdate())

Sql Server中的日期与时间函数

–获取当前时间 Select getdate() –获取当前年月日
YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒 /*

  1. 当前系统日期、时间
    select getdate()

  2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天
    select dateadd(day,2,’2004-10-15′) –返回:2004-10-17 00:00:00.000

代码如下复制代码

–当前字段值、加2天、减2天、加2个月、减2个月、加2年、减2年
SELECT CreateTime 字段日期,DATEADD(“DAY”,2,CreateTime) 
加2天,DATEADD(“DAY”,-2,CreateTime) 减2天,DATEADD(“M”,2,CreateTime)
加2个月,DATEADD(“M”,-2,CreateTime) 减2个月,DATEADD(“YEAR”,2,CreateTime)
加2年,DATEADD(“YEAR”,-2,CreateTime) 减2年 FROM JT_Biz_Lecture;

year yy 1753–9999 quarter qq 1–4 month mm 1–12 day of year dy 1–366

–某一字段(日期型)与当前时间作差
SELECT CreateTime,GETDATE() 当前时间,DATEDIFF(day,GETDATE(),CreateTime)
天数 FROM JT_Biz_Lecture;

4166am金沙下载,day dd 1–31 week wk 1–53 weekday dw 1–7(Sunday–Saturday)

  1. datediff 返回跨两个指定日期的日期和时间边界数。
    select datediff(day,’2004-09-01′,’2004-09-18′) –返回:17

  2. datepart 返回代表指定日期的指定日期部分的整数。
    SELECT DATEPART(month, ‘2004-10-15’) –返回 10

  3. datename 返回代表指定日期的指定日期部分的字符串
    SELECT datename(weekday, ‘2004-10-15’) –返回:星期五

  4. day(), month(),year() –可以与datepart对照一下

hour hh 0–23 minute mi 0–59 second ss 0–59 milisecond ms 0–999 */
–DATEPART与DATENAME实现差不多,都能实现同样效果,DATEPART返回的是整数,DATENAME返回的是字符

select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)

代码如下复制代码 Select DATEPART(qq,getdate())

select datename(dw,’2004-10-15′)

–获取前时间的前几天 -d ;后几天 +d

select 本年第多少周=datename(week,’2004-10-15′)
,今天是周几=datename(weekday,’2004-10-15′)

代码如下复制代码 Select getdate()-1

函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

–获得两段时间相距的几年 yy,几月 mm,几日 dd

参数 interval的设定值如下:

代码如下复制代码 Select DATEDIFF(dd,’2011-7-7′,getdate())

缩 写(Sql Server) (Access 和 ASP) 说明
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

–将字符串类型的日期转为日期类型的

access
和 asp
中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

代码如下复制代码 Select CONVERT (DATETIME,’2011-8-6′))

举例:
1.GetDate() 用于sql server :select GetDate()

–在当前时间上加上或减去年月日

2.DateDiff(‘s’,’2005-07-20′,’2005-7-25 22:56:32′)返回值为 514592 秒
DateDiff(‘d’,’2005-07-20′,’2005-7-25 22:56:32′)返回值为 5 天

代码如下复制代码 Select DATEADD(mm,-2,getdate())

3.DatePart(‘w’,’2005-7-25 22:56:32′)返回值为 2
即星期一(周日为1,周六为7)
DatePart(‘d’,’2005-7-25 22:56:32′)返回值为 25即25号
DatePart(‘y’,’2005-7-25 22:56:32′)返回值为 206即这一年中第206天
DatePart(‘yyyy’,’2005-7-25 22:56:32′)返回值为 2005即2005年

Convert函数的详细用处               
                                                         

Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006
10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(),
120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427
10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427
10:57:49:920AM
常用:
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图