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
SQL SERVER 中的日期与时间函数
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;
--某一字段(日期型)与当前时间作差
SELECT CREATETIME,GETDATE() 当前时间,DATEDIFF(DAY,GETDATE(),CREATETIME) 天数 FROM JT_BIZ_LECTURE;
3. DATEDIFF 返回跨两个指定日期的日期和时间边界数。
SELECT DATEDIFF(DAY,'2004-09-01','2004-09-18') --返回:17
4. DATEPART 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(MONTH, '2004-10-15') --返回 10
5. DATENAME 返回代表指定日期的指定日期部分的字符串
SELECT DATENAME(WEEKDAY, '2004-10-15') --返回:星期五
6. DAY(), MONTH(),YEAR() --可以与DATEPART对照一下
SELECT 当前日期=CONVERT(VARCHAR(10),GETDATE(),120)
,当前时间=CONVERT(VARCHAR(8),GETDATE(),114)
SELECT DATENAME(DW,'2004-10-15')
SELECT 本年第多少周=DATENAME(WEEK,'2004-10-15')
,今天是周几=DATENAME(WEEKDAY,'2004-10-15')
函数 参数/功能
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指定部分所对应的字符串名称
参数 INTERVAL的设定值如下:
值 缩 写(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中,这些函数的用法也类似
举例:
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 天
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年
以前收藏的笔记,就是平常会用到,不知原文作者是谁,如有侵权请告知。