项目总结1-关于sqlServer 中日期时间处理
Posted revelation
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目总结1-关于sqlServer 中日期时间处理相关的知识,希望对你有一定的参考价值。
一·SQLServer中SQL SERVER 查询时日期格式化
1 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 2 Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 3 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 4 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 5 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 6 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 7 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 8 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 9 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 10 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM 11 Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 12 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 13 Select CONVERT(varchar(100), GETDATE(), 12): 060516 14 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 15 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 16 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 17 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 18 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM 19 Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 20 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 21 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 22 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM 23 Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 24 Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 25 Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 26 Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 27 Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 28 Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 29 Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 30 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 31 Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM 32 Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 33 Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 34 Select CONVERT(varchar(100), GETDATE(), 112): 20060516 35 Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 36 Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 37 Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 38 Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 39 Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827 40 Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
41 Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:92
select CONVERT(VARCHAR(10),A.TOROKU_DATE,111) AS TOROKU_DATE
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate() 2004-09-12 11:06:08.177 (getdate方法取系统时间为SQL Server中专有)
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),‘-‘,‘‘),‘ ‘,‘‘),‘:‘,‘‘)
20040912110608
select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12
select CONVERT(varchar(12) , getdate(), 112 ) 20040912
select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12
select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004
select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004
select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004
select CONVERT(varchar(12) , getdate(), 105 ) 12-09-2004
select CONVERT(varchar(12) , getdate(), 106 ) 12 09 2004
select CONVERT(varchar(12) , getdate(), 107 ) 09 12, 2004
select CONVERT(varchar(12) , getdate(), 108 ) 11:06:08
select CONVERT(varchar(12) , getdate(), 109 ) 09 12 2004 1
select CONVERT(varchar(12) , getdate(), 110 ) 09-12-2004
select CONVERT(varchar(12) , getdate(), 113 ) 12 09 2004 1
select CONVERT(varchar(12) , getdate(), 114 ) 11:06:08.177
Convert第三个参数,进行日期类型转化时的格式:
如Convert(Char(10), GetDate(), 111)
101 美国 mm/dd/yyyy
102 ANSI yy.mm.dd
103 英国/法国 dd/mm/yy
104 德国 dd.mm.yy
105 意大利 dd-mm-yy
106 - dd mon yy
107 - mon dd, yy
108 - hh:mm:ss
109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
110 美国 mm-dd-yy
111 日本 yy/mm/dd
112 ISO yymmdd
113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
114 - hh:mi:ss:mmm(24h)
120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
Sql Server 中一个非常强大的日期格式化函数
1. 当前系统日期、时间
select getdate(); --返回:2004-10-17 00:00:00.000
2. 指定日期上加上一段时间返回 dateadd select dateadd(day,2,‘2018-06-19‘); --返回:2004-10-17 00:00:00.000
3. 返回两个指定日期的差值 datediff select datediff(day,‘2018-06-18‘,‘2018-06-28) --返回:10
4. 返回指定日期的指定部分的整数 depart
select depart(month, ‘2004-10-15‘); --返回:10
5. 返回指定日期的指定部分的整数 datename
select datename(weekday, ‘2004-10-15‘); --返回:星期五
总结:SQL Server日期函数 参数/功能
- getdate(); --返回系统目前的日期与时间
- dateadd (interval,number,date); --以interval指定的方式,加上number之后的日期
- datediff (interval,date1,date2); --以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
- datepart (interval,date); --返回日期date中,interval指定部分所对应的整数值
- datename (interval,date); --返回日期date中,interval指定部分所对应的字符串名称
参数interval的设定值如下:
值缩写(Sql Server)
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
以上是关于项目总结1-关于sqlServer 中日期时间处理的主要内容,如果未能解决你的问题,请参考以下文章
Java基础学习总结(195)—— 关于 Java 8 中的日期处理总结