SQL?SERVER數(shù)據(jù)庫中日期格式化詳解
1. date和datetime類型的區(qū)別
date是SQL Server 2008新引進的數(shù)據(jù)類型。它表示一個日期,不包含時間部分,可以表示的日期范圍從公元元年1月1日到9999年12月31日。只需要3個字節(jié)的存儲空間。
dateTime 日期和時間部分,可以表示的日期范圍從公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精確到3.33毫秒,它需要8個字節(jié)的存儲空間。
2. GETDATE()函數(shù),返回當前日期時間(datetime類型)
SELECT GETDATE(); 返回 2023-03-27 09:36:30.207
3. CONVERT()函數(shù),格式化日期
CONVERT() 函數(shù)是把日期轉換為新數(shù)據(jù)類型的通用函數(shù),也可以用不同的格式顯示日期/時間數(shù)據(jù)。
語法:
CONVERT(data_type(length),date,style)
- data_type(length) 規(guī)定目標數(shù)據(jù)類型(帶有可選的長度)。date指需要轉換的值。style 規(guī)定日期/時間的輸出格式。
- 可以使用的 style 值:當前時間2023年3月27日 09:36:30.207
| Style ID | SQL | 對應格式 |
|---|---|---|
| 1 | SELECT CONVERT(varchar(100), GETDATE(), 1); | 01/03/17 |
| 2 | SELECT CONVERT(varchar(100), GETDATE(), 2); | 17.01.03 |
| 3 | SELECT CONVERT(varchar(100), GETDATE(), 3); | 03/01/17 |
| 4 | SELECT CONVERT(varchar(100), GETDATE(), 4); | 03.01.17 |
| 5 | SELECT CONVERT(varchar(100), GETDATE(), 5); | 03-01-17 |
| 6 | SELECT CONVERT(varchar(100), GETDATE(), 6); | 03 01 17 |
| 7 | SELECT CONVERT(varchar(100), GETDATE(), 7); | 01 03, 17 |
| 8 | SELECT CONVERT(varchar(100), GETDATE(), 8); | 09:09:10 |
| 9 | SELECT CONVERT(varchar(100), GETDATE(), 9); | 01 3 2017 9:09:10:037AM |
| 10 | SELECT CONVERT(varchar(100), GETDATE(), 10); | 01-03-17 |
| 11 | SELECT CONVERT(varchar(100), GETDATE(), 11); | 17/01/03 |
| 12 | SELECT CONVERT(varchar(100), GETDATE(), 12); | 170103 |
| 13 | SELECT CONVERT(varchar(100), GETDATE(), 13); | 03 01 2017 09:09:10:037 |
| 14 | SELECT CONVERT(varchar(100), GETDATE(), 14); | 09:09:10:037 |
| 20 | SELECT CONVERT(varchar(100), GETDATE(), 20); | 2017-01-03 09:09:10 |
| 21 | SELECT CONVERT(varchar(100), GETDATE(), 21); | 2017-01-03 09:09:10.037 |
| 22 | SELECT CONVERT(varchar(100), GETDATE(), 22); | 01/03/17 9:09:10 AM |
| 23 | SELECT CONVERT(varchar(100), GETDATE(), 23); | 2017-01-03 |
| 24 | SELECT CONVERT(varchar(100), GETDATE(), 24); | 09:09:10 |
| 25 | SELECT CONVERT(varchar(100), GETDATE(), 25); | 2017-01-03 09:09:10.037 |
| 100 | SELECT CONVERT(varchar(100), GETDATE(), 100); | 01 3 2017 9:09AM |
| 101 | SELECT CONVERT(varchar(100), GETDATE(), 101); | 01/03/2017 |
| 102 | SELECT CONVERT(varchar(100), GETDATE(), 102); | 2017.01.03 |
| 103 | SELECT CONVERT(varchar(100), GETDATE(), 103); | 03/01/2017 |
| 104 | SELECT CONVERT(varchar(100), GETDATE(), 104); | 03.01.2017 |
| 105 | SELECT CONVERT(varchar(100), GETDATE(), 105); | 03-01-2017 |
| 106 | SELECT CONVERT(varchar(100), GETDATE(), 106); | 03 01 2017 |
| 107 | SELECT CONVERT(varchar(100), GETDATE(), 107); | 01 03, 2017 |
| 108 | SELECT CONVERT(varchar(100), GETDATE(), 108); | 09:09:10 |
| 109 | SELECT CONVERT(varchar(100), GETDATE(), 109); | 01 3 2017 9:09:10:037AM |
| 110 | SELECT CONVERT(varchar(100), GETDATE(), 110); | 01-03-2017 |
| 111 | SELECT CONVERT(varchar(100), GETDATE(), 111); | 2017/01/03 |
| 112 | SELECT CONVERT(varchar(100), GETDATE(), 112); | 20170103 |
| 113 | SELECT CONVERT(varchar(100), GETDATE(), 113); | 03 01 2017 09:09:10:037 |
| 114 | SELECT CONVERT(varchar(100), GETDATE(), 114); | 09:09:10:037 |
| 120 | SELECT CONVERT(varchar(100), GETDATE(), 120); | 2017-01-03 09:09:10 |
| 121 | SELECT CONVERT(varchar(100), GETDATE(), 121); | 2017-01-03 09:09:10.037 |
| 126 | SELECT CONVERT(varchar(100), GETDATE(), 126); | 2017-01-03T09:09:10.037 |
| 130 | SELECT CONVERT(varchar(100), GETDATE(), 130); | 5 ???? ?????? 1438 9:09:10:037AM |
| 131 | SELECT CONVERT(varchar(100), GETDATE(), 131); | 5/04/1438 9:09:10:037AM |
4. DATEPART() 函數(shù)
datepart()函數(shù)是用來返回 指定日期時間的指定日期部分的整數(shù)。返回類型為:int。
語法:例如獲取當前時間的年份:
select DATEPART(yy,getdate()) -- 2023 select DATEPART(mm,getdate()) -- 3 select DATEPART(dd,getdate()) -- 27
| 日期部分 | 縮寫 | 說明 |
|---|---|---|
| year | yy,yyyy | 返還年份 |
| quarter | qq,q | 返還季度 |
| month | mm,m | 返還月份 |
| day of year | dy ,y | 返還一年中的第幾天 |
| day | dd,d | 返還日 |
| week | wk,ww | 返還一年中的第幾周 |
| weekday | dw | 返還星期幾 數(shù)據(jù)型 |
| hour | hh | 返還小時 |
| minute | mi,n | 返還分鐘 |
| second | ss,s | 返還秒 |
| millisecond | ms | 返還毫秒數(shù) |
總結
到此這篇關于SQL SERVER數(shù)據(jù)庫中日期格式化的文章就介紹到這了,更多相關SQLSERVER日期格式化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SQL Server數(shù)據(jù)庫表格操作方法詳解
SQL Server是一種關系型數(shù)據(jù)庫管理系統(tǒng),常用于存儲和管理大量的數(shù)據(jù),在SQL Server中數(shù)據(jù)以表格的形式存儲,這篇文章主要介紹了SQL Server數(shù)據(jù)庫表格操作方法的相關資料,需要的朋友可以參考下2024-10-10
mssql查找備注(text,ntext)類型字段為空的方法
在sql語句中,如果查找某個文本字段值為空的,可以用select * from 表 where 字段='' ,但是如果這個字段數(shù)據(jù)類型是text或者ntext,那上面的sql語句就要出錯了。2008-08-08
MyBatis MapperProvider MessageFormat拼接批量SQL語句執(zhí)行報錯的原因分析及解決辦法
這篇文章主要介紹了MyBatis MapperProvider MessageFormat拼接批量SQL語句執(zhí)行報錯的原因分析及解決辦法的相關資料,需要的朋友可以參考下2016-01-01
SQL Server導入導出數(shù)據(jù)時最常見的一個錯誤解決方法
這篇文章主要介紹了SQL Server導入導出數(shù)據(jù)時最常見的一個錯誤解決方法,報錯無法在只讀列“ID”中插入數(shù)據(jù)等錯誤,需要的朋友可以參考下2014-08-08
判斷觸發(fā)器正在處理的是插入,刪除還是更新觸發(fā)
平常時寫觸發(fā)器(TRIGGER),一般會分別寫插入(INSERT),刪除(DELETE)和更新(UPDATE)單獨的觸發(fā)器2012-01-01
配置Windows防火墻允許SQL?Server遠程連接的實現(xiàn)
防火墻系統(tǒng)有助于阻止對計算機資源進行未經(jīng)授權的訪問,?如果防火墻已打開但卻未正確配置,則可能會阻止連接SQL,本文主要介紹了配置Windows防火墻允許SQL?Server遠程連接的實現(xiàn),感興趣的可以了解一下2024-04-04
在 SQLSERVER 中快速有條件刪除海量數(shù)據(jù)
最近有個朋友問我,他說他在SQLSERVER刪除幾百萬到幾千萬數(shù)據(jù)是顯的很慢,幫他分析了一下,提了一些以下意見,或許對很多人有用。2008-10-10
萬能密碼的SQL注入漏洞其PHP環(huán)境搭建及防御手段
這篇文章主要介紹了萬能密碼的SQL注入漏洞其PHP環(huán)境搭建及防御手段,對此感興趣的小伙伴趕快收藏起來吧2021-09-09

