SQL获取年⽉⽇⽅法
⽅法⼀:利⽤DATENAME
在SQL数据库中,DATENAME(datetype,date)函数的作⽤是从⽇期中提取指定部分数据,其返回类型是nvarchar.datetype类型见附表1. SELECT DATENAME(year,GETDATE())+'-'+DATENAME(MONTH,GETDATE())+'-'+DATENAME(DAY,GETDATE())
SELECT DATENAME(yyyy,GETDATE())+'-'+DATENAME(MM,GETDATE())+'-'+DATENAME(dd,GETDATE())
⽅法⼆:利⽤CONVERT
CONVERT(type(length),date,style) 函数是把⽇期转换为新数据类型的通⽤函数,可以⽤不同的格式显⽰⽇期/时间数据。style类型见附表2,另附件3为CONVERT()⽤法
SELECT CONVERT(VARCHAR(20),YEAR(GETDATE())) +'-'+CONVERT(VARCHAR(20),MONTH(GETDATE()))+'-'+CONVERT(VARCHAR(20),DAY(GETDATE())) SELECT CONVERT(VARCHAR(20),GETDATE(),23)
下⾯说两种不能错误⽅法:
SELECT YEAR(GETDATE()) +'-'+MONTH(GETDATE()) +'-'+DAY(GETDATE())
SELECT DATEPART(yyyy,GETDATE())+'-'+DATEPART(MM,GETDATE())+'-'+DATEPART(dd,GETDATE())
因为YEAR(),MONTH(),DAY(),DATEPART()返回值都是INT类型,所以结果是相加
附表1
⽇期部分缩写
year yy, yyyy
quarter qq, q
month mm,m
dayofyear dy, y
day dd,d
week wk,ww
weeekday dw
hour hh
minute mi,n
second ss,s
millisecond ms
附表2
style(2位表年份) style(4位表年份) Style 格式
100或0mon dd yyyy hh:miAM (或者 PM)
1101 美国mm/dd/yy
2102 dd
3103 英法dd/mm/yy
mid函数提取年月日4104 德国
5105 意⼤利dd-mm-yy
6106dd mon yy
7107Mon dd, yy
108或8或24hh:mm:ss(⽆年份⽉⽇)
109或9mon dd yyyy hh:mi:ss:mmmAM(或者 PM) 10110 美国mm-dd-yy
11111 ⽇本yy/mm/dd
12112 ISO yymmdd
113或13 欧洲默认dd mon yyyy hh:mm:ss:mmm(24h) 14114hh:mi:ss:mmm(24h)(⽆年份⽉⽇)
120或20 ODBC yyyy-mm-dd hh:mi:ss(24h)
121或21或25yyyy-mm-dd hh:(24h)
23yyyy-mm-dd
126yyyy-mm-ddThh:(没有空格)
130dd mon yyyy hh:mi:ss:mmmAM
131dd/mm/yy hh:mi:ss:mmmAM
附件3 CONVERT()⽤法
SELECT CONVERT(varchar(100), GETDATE(), 0)-- 08 25 2017 10:26AM
SELECT CONVERT(varchar(100), GETDATE(), 100)--08 25 2017 10:26AM
SELECT CONVERT(varchar(100), GETDATE(), 1)-- 08/25/17
SELECT CONVERT(varchar(100), GETDATE(), 101)--08/25/2017
SELECT CONVERT(varchar(100), GETDATE(), 2)-- 17.08.25
SELECT CONVERT(varchar(100), GETDATE(), 102)--2017.08.25
SELECT CONVERT(varchar(100), GETDATE(), 3)-- 25/08/17
SELECT CONVERT(varchar(100), GETDATE(), 103)--25/08/2017
SELECT CONVERT(varchar(100), GETDATE(), 4)-- 25.08.17
SELECT CONVERT(varchar(100), GETDATE(), 104)--25.08.2017
SELECT CONVERT(varchar(100), GETDATE(), 5)-- 25-08-17
SELECT CONVERT(varchar(100), GETDATE(), 105)--25-08-2017
SELECT CONVERT(varchar(100), GETDATE(), 6)-- 25 08 17
SELECT CONVERT(varchar(100), GETDATE(), 106)--25 08 2017
SELECT CONVERT(varchar(100), GETDATE(), 7)-- 08 25, 17
SELECT CONVERT(varchar(100), GETDATE(), 107)--08 25, 2017
SELECT CONVERT(varchar(100), GETDATE(), 8)-- 10:25:11
SELECT CONVERT(varchar(100), GETDATE(), 108)--10:25:11
SELECT CONVERT(varchar(100), GETDATE(), 9)-- 08 25 2017 10:25:54:397AM
SELECT CONVERT(varchar(100), GETDATE(), 109)--08 25 2017 10:25:54:397AM
SELECT CONVERT(varchar(100), GETDATE(), 10)-- 08-25-17
SELECT CONVERT(varchar(100), GETDATE(), 110)--08-25-2017
SELECT CONVERT(varchar(100), GETDATE(), 11)-- 17/08/25
SELECT CONVERT(varchar(100), GETDATE(), 111)--2017/08/25
SELECT CONVERT(varchar(100), GETDATE(), 12)-- 170825
SELECT CONVERT(varchar(100), GETDATE(), 112)--20170825
SELECT CONVERT(varchar(100), GETDATE(), 13)-- 25 08 2017 10:30:25:533
SELECT CONVERT(varchar(100), GETDATE(), 113)--25 08 2017 10:30:25:533
SELECT CONVERT(varchar(100), GETDATE(), 14)-- 10:31:18:553
SELECT CONVERT(varchar(100), GETDATE(), 114)--10:31:18:553
SELECT CONVERT(varchar(100), GETDATE(), 20)-- 2017-08-25 10:31:18
SELECT CONVERT(varchar(100), GETDATE(), 120)--2017-08-25 10:31:18
SELECT CONVERT(varchar(100), GETDATE(), 21)-- 2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), GETDATE(), 121)--2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), GETDATE(), 22)-- 08/25/17 10:32:22 AM
SELECT CONVERT(varchar(100), GETDATE(), 23)-- 2017-08-25
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 8)-- 10:25:11
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 108)--10:25:11
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 24)-- 10:33:38
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 21)-- 2017-08-25 10:32:22.950 SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 121)--2017-08-25 10:32:22.950 SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 25)-- 2017-08-25 10:33:49.947 SELECT CONVERT(varchar(100), GETDATE(), 126)--2017-08-25T10:34:39.913
SELECT CONVERT(varchar(100), GETDATE(), 130)--3 ?? ????? 1438 10:34:52:140AM SELECT CONVERT(varchar(100), GETDATE(), 131)--3/12/1438 10:35:01:460AM
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论