SQL CONVERT 转换函数 转换各种日期格式大全

说明:
使用 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日期与时间函数:

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

  1. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime值

例如:向日期加上2天

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

  1. datediff 返回跨两个指定日期的日期和时间边界数。
selectdatediff(day,'2004-09-01','2004-09-18')  --返回:17
  1. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15')  --返回10
  1. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五

  1. 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')

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'

你可能感兴趣的:(SQL)