當前位置:首頁 » 編程語言 » sql年月日如何格式化年
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql年月日如何格式化年

發布時間: 2022-12-28 06:09:22

sql日期格式化

sql server中使用convert來取得datetime數據類型樣式(全)

日期數據格式的處理,兩個示例:

CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函數或數據表裡的欄位*/

CONVERT(varchar(10), 時間一, 23) 結果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長會發生截取*/


語句及查詢結果:

SelectCONVERT(varchar(100),GETDATE(),0)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),1)--05/16/06
SelectCONVERT(varchar(100),GETDATE(),2)--06.05.16
SelectCONVERT(varchar(100),GETDATE(),3)--16/05/06
SelectCONVERT(varchar(100),GETDATE(),4)--16.05.06
SelectCONVERT(varchar(100),GETDATE(),5)--16-05-06
SelectCONVERT(varchar(100),GETDATE(),6)--160506
SelectCONVERT(varchar(100),GETDATE(),7)--0516,06
SelectCONVERT(varchar(100),GETDATE(),8)--10:57:46
SelectCONVERT(varchar(100),GETDATE(),9)--0516200610:57:46:827AM
SelectCONVERT(varchar(100),GETDATE(),10)--05-16-06
SelectCONVERT(varchar(100),GETDATE(),11)--06/05/16
SelectCONVERT(varchar(100),GETDATE(),12)--060516
SelectCONVERT(varchar(100),GETDATE(),13)--1605200610:57:46:937
SelectCONVERT(varchar(100),GETDATE(),14)--10:57:46:967
SelectCONVERT(varchar(100),GETDATE(),20)--2006-05-1610:57:47
SelectCONVERT(varchar(100),GETDATE(),21)--2006-05-1610:57:47.157
SelectCONVERT(varchar(100),GETDATE(),22)--05/16/0610:57:47AM
SelectCONVERT(varchar(100),GETDATE(),23)--2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24)--10:57:47
SelectCONVERT(varchar(100),GETDATE(),25)--2006-05-1610:57:47.250
SelectCONVERT(varchar(100),GETDATE(),100)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),101)--05/16/2006
SelectCONVERT(varchar(100),GETDATE(),102)--2006.05.16
SelectCONVERT(varchar(100),GETDATE(),103)--16/05/2006
SelectCONVERT(varchar(100),GETDATE(),104)--16.05.2006
SelectCONVERT(varchar(100),GETDATE(),105)--16-05-2006
SelectCONVERT(varchar(100),GETDATE(),106)--16052006
SelectCONVERT(varchar(100),GETDATE(),107)--0516,2006
SelectCONVERT(varchar(100),GETDATE(),108)--10:57:49
SelectCONVERT(varchar(100),GETDATE(),109)--0516200610:57:49:437AM
SelectCONVERT(varchar(100),GETDATE(),110)--05-16-2006
SelectCONVERT(varchar(100),GETDATE(),111)--2006/05/16
SelectCONVERT(varchar(100),GETDATE(),112)--20060516
SelectCONVERT(varchar(100),GETDATE(),113)--1605200610:57:49:513
SelectCONVERT(varchar(100),GETDATE(),114)--10:57:49:547
SelectCONVERT(varchar(100),GETDATE(),120)--2006-05-1610:57:49
SelectCONVERT(varchar(100),GETDATE(),121)--2006-05-1610:57:49.700
SelectCONVERT(varchar(100),GETDATE(),126)--2006-05-16T10:57:49.827
SelectCONVERT(varchar(100),GETDATE(),130)--18??????????142710:57:49:907AM
SelectCONVERT(varchar(100),GETDATE(),131)--18/04/142710:57:49:920AM



說明:
使用 CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

參數
expression

是任何有效的 Microsoft® SQL Server™ 表達式。。

data_type

目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。
length

nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。

style

日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。

SQL Server 支持使用科威特演算法的阿拉伯樣式中的數據格式。

在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字元數據的 style 值。給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。

不帶世紀數位 (yy) 帶世紀數位 (yyyy)
標准
輸入/輸出**
- 0 或 100 (*) 默認值 mon dd yyyy hh:miAM(或 PM)
1 101 美國 mm/dd/yyyy
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


* 默認值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。
** 當轉換為 datetime時輸入;當轉換為字元數據時輸出。
*** 專門用於 XML。對於從 datetime或 smalldatetime 到 character 數據的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 數據的轉換,輸出等同於 style 2。對於從 real 到 character 數據的轉換,輸出等同於 style 1。
****Hijri 是具有幾種變化形式的日歷系統,Microsoft® SQL Server™ 2000 使用其中的科威特演算法。重要 默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950。許多客戶端應用程序(例如那些基於 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項("兩位數字的截止年份"),藉以更改 SQL Server 所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。


當從 smalldatetime 轉換為字元數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的 char 或 varchar 數據類型長度來截斷不需要的日期部分。

⑵ 如何在 SQL Server中 將日期格式化

SQLServer中將日期格式化:

CONVERTSQLServer中將日期格式化2008年12月22日星期一16:39CONVERT
將某種數據類型的表達式顯式轉換為另一種數據類型。由於某些需求經常用到取日期格式的不同.現以下可在
SQLServer中將日期格式化.
SQLServer支持使用科威特演算法的阿拉伯樣式中的數據格式。
在表中,左側的兩列表示將datetime或smalldatetime轉換為字元數據的style值。給style值加
100,可獲得包括世紀數位的四位年份(yyyy)。
不帶世紀數位(yy)帶世紀數位(yyyy)
標准
輸入/輸出**
-0或100(*)默認值monddyyyyhh:miAM(或PM)
1101美國mm/dd/yyyy
2102ANSIyy.mm.dd
3103英國/法國dd/mm/yy
4104德國dd.mm.yy
5105義大利dd-mm-yy
6106-ddmonyy
7107-mondd,yy
8108-hh:mm:ss
-9或109(*)默認值+毫秒monddyyyyhh:mi:ss:mmmAM(或PM)
10110美國mm-dd-yy
11111日本yy/mm/dd
12112ISOyymmdd
-13或113(*)歐洲默認值+毫秒ddmonyyyyhh:mm:ss:mmm(24h)
14114-hh:mi:ss:mmm(24h)
-20或120(*)ODBC規范yyyy-mm-ddhh:mm:ss[.fff]
-21或121(*)ODBC規范(帶毫秒)yyyy-mm-ddhh:mm:ss[.fff]
-126(***)ISO8601yyyy-mm-ddThh:mm:ss:mmm(不含空格)
-130*科威特ddmonyyyyhh:mi:ss:mmmAM
-131*科威特dd/mm/yyhh:mi:ss:mmmAM
*默認值(style0或100、9或109、13或113、20或120、21或121)始終返回世紀數位(yyyy)。
**當轉換為datetime時輸入;當轉換為字元數據時輸出。
***專門用於XML。對於從datetime或smalldatetime到character數據的轉換,輸出格式如表中所示。對於從
float、money或smallmoney到character數據的轉換,輸出等同於style2。對於從real到
character數據的轉換,輸出等同於style1。
重要默認情況下,SQLServer根據截止年份2049解釋兩位數字的年份。即,兩位數字的年份49被解釋為2049,而兩位數字的年份
50被解釋為1950。許多客戶端應用程序(例如那些基於OLE自動化對象的客戶端應用程序)都使用2030作為截止年份。SQLServer
提供一個配置選項("兩位數字的截止年份"),藉以更改SQLServer
所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。
當從smalldatetime轉換為字元數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從datetime或smalldatetime
值進行轉換時,可以通過使用適當的char或varchar數據類型長度來截斷不需要的日期部分。
下表顯示了從float或real轉換為字元數據時的style值。
值輸出
0(默認值)最大為6位數。根據需要使用科學記數法。
1始終為8位值。始終使用科學記數法。
2始終為16位值。始終使用科學記數法。
在下表中,左列表示從money或smallmoney轉換為字元數據時的style值。
值輸出
0(默認值)小數點左側每三位數字之間不以逗號分隔,小數點右側取兩位數,例如4235.98。
1小數點左側每三位數字之間以逗號分隔,小數點右側取兩位數,例如3,510.92。
2小數點左側每三位數字之間不以逗號分隔,小數點右側取四位數,例如4235.9819。
使用CONVERT:
CONVERT(data_type[(length)],expression[,style])
selectCONVERT(varchar,getdate(),120)
2004-09-1211:06:08
selectreplace(replace(replace(CONVERT(varchar,getdate(),120
),'-',''),'',''),':','')
20040912110608
selectCONVERT(varchar(12),getdate(),111)
2004/09/12
selectCONVERT(varchar(12),getdate(),112)
20040912
selectCONVERT(varchar(12),getdate(),102)
2004.09.12
selectCONVERT(varchar(12),getdate(),101)
09/12/2004
selectCONVERT(varchar(12),getdate(),103)
12/09/2004
selectCONVERT(varchar(12),getdate(),104)
12.09.2004
selectCONVERT(varchar(12),getdate(),105)
12-09-2004
selectCONVERT(varchar(12),getdate(),106)
12092004
selectCONVERT(varchar(12),getdate(),107)
0912,2004
selectCONVERT(varchar(12),getdate(),108)
11:06:08
selectCONVERT(varchar(12),getdate(),109)
091220041
selectCONVERT(varchar(12),getdate(),110)
09-12-2004
selectCONVERT(varchar(12),getdate(),113)
120920041
selectCONVERT(varchar(12),getdate(),114)
11:06:08.177
SELECTCONVERT(varchar(100),GETDATE(),0):0516200610:57AM
SELECTCONVERT(varchar(100),GETDATE(),1):05/16/06
SELECTCONVERT(varchar(100),GETDATE(),2):06.05.16
SELECTCONVERT(varchar(100),GETDATE(),3):16/05/06
SELECTCONVERT(varchar(100),GETDATE(),4):16.05.06
SELECTCONVERT(varchar(100),GETDATE(),5):16-05-06
SELECTCONVERT(varchar(100),GETDATE(),6):160506
SELECTCONVERT(varchar(100),GETDATE(),7):0516,06
SELECTCONVERT(varchar(100),GETDATE(),8):10:57:46
SELECTCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AM
SELECTCONVERT(varchar(100),GETDATE(),10):05-16-06
SELECTCONVERT(varchar(100),GETDATE(),11):06/05/16
SELECTCONVERT(varchar(100),GETDATE(),12):060516
SELECTCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937
SELECTCONVERT(varchar(100),GETDATE(),14):10:57:46:967
SELECTCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47
SELECTCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157
SELECTCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AM
SELECTCONVERT(varchar(100),GETDATE(),23):2006-05-16
SELECTCONVERT(varchar(100),GETDATE(),24):10:57:47
SELECTCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250
SELECTCONVERT(varchar(100),GETDATE(),100):0516200610:57AM
SELECTCONVERT(varchar(100),GETDATE(),101):05/16/2006
SELECTCONVERT(varchar(100),GETDATE(),102):2006.05.16
SELECTCONVERT(varchar(100),GETDATE(),103):16/05/2006
SELECTCONVERT(varchar(100),GETDATE(),104):16.05.2006
SELECTCONVERT(varchar(100),GETDATE(),105):16-05-2006
SELECTCONVERT(varchar(100),GETDATE(),106):16052006
SELECTCONVERT(varchar(100),GETDATE(),107):0516,2006
SELECTCONVERT(varchar(100),GETDATE(),108):10:57:49
SELECTCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AM
SELECTCONVERT(varchar(100),GETDATE(),110):05-16-2006
SELECTCONVERT(varchar(100),GETDATE(),111):2006/05/16
SELECTCONVERT(varchar(100),GETDATE(),112):20060516
SELECTCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513
SELECTCONVERT(varchar(100),GETDATE(),114):10:57:49:547
SELECTCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49
SELECTCONVERT(varchar(100),GETDATE(),121):2006-05-1610:57:49.700
SELECTCONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827
SELECTCONVERT(varchar(100),GETDATE(),130):18??????????1427
10:57:49:907AM
SELECTCONVERT(varchar(100),GETDATE(),131):18/04/142710:57:49:920AM

⑶ sql 日期格式轉換

1、首先點擊頂部菜單的【新建查詢】,打開一個SQL輸入窗口。

2、將當前日期格式化為【年-月-日】格式,SelectCONVERT(varchar(100),GETDATE(),23)。

3、將當前時間格式化為【時:分:秒】格式,SelectCONVERT(varchar(100),GETDATE(),8)。

4、將當前日期時間格式化為【年-月-日時:分:秒】格式,SelectCONVERT(varchar(100),GETDATE(),20)。

5、將當前日期格式化為【日-月-年】格式,SelectCONVERT(varchar(100),GETDATE(),105)。

6、將當前日期格式化為【年/月/日】格式,SelectCONVERT(varchar(100),GETDATE(),111)。完成效果圖。

⑷ sql怎麼把年月日日期轉成年月格式。

1. DATE_FORMAT() 函數用於以不同的格式顯示日期/時間數據。

DATE_FORMAT(date,format)

例子:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
輸出結果:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46

⑸ SQL資料庫中怎麼將時間格式轉換到年和月

  1. Year(@time), Month(@time) 2 個函數即可。
    然後用它們來組裝字元串也就簡單了。

  2. CONVERT(VarChar(7), @time, 120)會得到YYYY-MM。調用。

  3. 用轉成字元串,,但此時他已經不是時間類型。
    CONVERT(char(7),"你的時間例",120)