SQL Server日期時間格式轉(zhuǎn)化的方式小結(jié)
在SQL server中,可查詢?nèi)掌诤蜁r間,常見類型有
- DATE: 日期格式,格式為'YYYY-MM-DD' 即年月日,yeer-month-day
- TIME:時間類型,格式為 'HH:MI:SS'。 即時分秒,hour-minute-seconds
- DATETIME:日期和時間類型,格式為 'YYYY-MM-DD HH:MI:SS'。即DATE和TIME結(jié)合,中間有空格,末尾新增毫秒(millisecond)。
1.純數(shù)字表示format
--GETDATE()是打印當(dāng)前時間的函數(shù),包含日期時間,時分秒毫秒 SELECT GETDATE() --2023-10-15 13:44:15.420 -- (1) 純時間 --134004 SELECT REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', ''); --(2)純?nèi)掌? --20231015 SELECT REPLACE(CONVERT(VARCHAR(8), GETDATE(), 112), ':', ''); --(3)純?nèi)掌跁r間 --20231015134004 SELECT CONVERT(VARCHAR(10), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '')
2. CONVERT的使用
CONVERT格式:CONVERT(data_type(length),expression,style)
data_type(length):規(guī)定顯示的長度,固可以將顯示的長度縮短,也可以得到需要的結(jié)果。
SELECT CONVERT(varchar(50), GETDATE(), 109); --Oct 15 2023 2:04:54:123PM SELECT CONVERT(varchar(11), GETDATE(), 109); --Oct 15 2023
expression:getdate() 或者自行輸入需要處理的時間值。
style: 類型
id | style | format | region |
1 | 101 | mm/dd/yy | USA |
2 | 102 | yy.mm.dd | ANSI |
3 | 103 | dd/mm/yy | British/French |
4 | 104 | dd.mm.yy | German |
5 | 105 | dd-mm-yy | Italian |
6 | 106 | dd mon yy | |
7 | 107 | Mon dd, yy | |
8 | 108 | hh:mm:ss | |
- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmAM (or PM) | Default+millisec |
10 | 110 | mm-dd-yy | USA |
11 | 111 | yy/mm/dd | Japan |
12 | 112 | yymmdd | ISO |
- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm (24h) | |
14 | 114 | hh:mi:ss:mmm (24h) | |
- | 20 or 120 | yyyy-mm-dd hh:mi:ss (24h) | |
- | 21 or 121 | yyyy-mm-dd hh:mi:ss.mmm (24h) | |
- | 126 | yyyy-mm-ddThh:mi:ss.mmm (no spaces) | ISO8601 |
- | 130 | dd mon yyyy hh:mi:ss:mmmAM | Hijiri |
- | 131 | dd/mm/yy hh:mi:ss:mmmAM | Hijiri |
示例:
--2023-10-15 SELECT CONVERT(date, GETDATE()) AS Date, --13:47:52.5130000 SELECT CONVERT(time, GETDATE()) AS Time; --13:47:52 SELECT CONVERT(varchar(10), GETDATE(), 108);
3.日期與字符串之間的轉(zhuǎn)換
-- 將日期轉(zhuǎn)換為字符串 SELECT CONVERT(VARCHAR, GETDATE(), 120) AS convertedTime; -- 將字符串轉(zhuǎn)換為日期 SELECT CONVERT(DATE, '2022-01-01', 120) AS ConvertedDate;
驗證:
-- 將日期轉(zhuǎn)換為字符串 SELECT CONVERT(VARCHAR, GETDATE(), 120) AS convertedTime into #tt1 --select...into table,帶#是生成一個臨時表 go --go使得前面語句先執(zhí)行完成,在執(zhí)行后邊語句 select * from #tt1; SELECT SQL_VARIANT_PROPERTY(convertedTime, 'BaseType') AS DataType FROM #tt1; drop table #tt1 --使用完臨時表,刪除掉,節(jié)約資源
-- 將字符串轉(zhuǎn)換為日期 SELECT CONVERT(DATE, '2023-10-15', 120) AS ConvertedDate into #tt2; go SELECT * FROM #tt2 SELECT SQL_VARIANT_PROPERTY(ConvertedDate, 'BaseType') AS DataType FROM #tt2; drop table #tt2
到此這篇關(guān)于SQL Server日期時間格式轉(zhuǎn)化的方式小結(jié)的文章就介紹到這了,更多相關(guān)SQL Server時間格式轉(zhuǎn)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在SQL Server的try...catch語句中獲取錯誤消息代碼的的語句
本文為大家詳細(xì)介紹下如何在SQL Server的try...catch語句中獲取錯誤消息的代碼,具體示例如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07SQL Server 使用觸發(fā)器(trigger)發(fā)送電子郵件步驟詳解
本文分步驟給大家詳細(xì)介紹了SQL Server 使用觸發(fā)器(trigger)發(fā)送電子郵件的方法,需要的朋友可以參考下2017-04-04SQL Server 提取數(shù)字、提取英文、提取中文的sql語句
這篇文章主要介紹了SQL Server 提取數(shù)字、提取英文、提取中文 ,需要的朋友可以參考下2014-10-10SQL Server誤區(qū)30日談 第29天 有關(guān)堆碎片的誤區(qū)
對堆建聚集索引再DROP在我看來是除了收縮數(shù)據(jù)庫之外最2的事了2013-01-01SQLserver刪除某數(shù)據(jù)庫中所有表實現(xiàn)思路
方便刪除數(shù)據(jù)庫中所有的數(shù)據(jù)表,清空數(shù)據(jù)庫,有些有約束,不能直接delete,因為那樣太危險了所以需要先刪除庫中的約束,接下來提供詳細(xì)實現(xiàn)代碼,感興趣的你可以參考下哦,或許對你學(xué)習(xí)有所幫助2013-02-02