说明:
使用 CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
-- 语句及查询结果:
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
| | |
| | |
0 | 或 100 (*) | 默认值 mon dd yyyy hh:miAM(或 PM) |
---|---|---|
1 | 101 | |
2 | 102 | ANSI yy.mm.dd |
3 | 103 | 英国/法国 dd/mm/yy |
4 | 104 | 德国 dd.mm.yy |
5 | 105 | 意大利 dd-mm-yy |
6 | 106 | - dd mon yy |
7 | 107 - mon dd, yy | |
8 | 108 | - hh:mm:ss |
- 9 | 或 109 | (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
10 | 110 | 美国 mm-dd-yy |
11 | 111 | 日本 yy/mm/dd |
12 | 112 | ISO yymmdd |
- 13 | 或 113 | (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h) |
14 | 114 | - hh:mi:ss:mmm(24h) |
- 20 | 或 120 | (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff] |
- 21 | 或 121 | (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff] |
- 126 | (***) | ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格) |
- 130* | Hijri**** | dd mon yyyy hh:mi:ss:mmmAM |
- 131* | Hijri**** | dd/mm/yy hh:mi:ss:mmmAM |
SQL Server日期时间函数,这是SQL Server处理日期和时间最常用的函数
Sql Server日期与时间函数:
select getdate()
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
selectdatediff(day,'2004-09-01','2004-09-18') --返回:17
SELECT DATEPART(month, '2004-10-15') --返回10
SELECT datename(weekday, '2004-10-15') --返回:星期五
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')
SQLServer日期函数 参数/功能
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中,这些函数的用法也类似。
SQL Server日期函数举例:
1.GetDate() 用于sql server :select GetDate()
2.DateDiff()
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()
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年
4.两值之间:
日期 BETWEEN '2020-01-01' and '2020-2-31'