SqlSERVER中將datetime轉換成字符串的方法(CONVERT)


一、回顧一下CONVERT()的語法格式:CONVERT (<data_ type>[ length ], <expression> [, style])
二、這里注重說明一下style的含義:style 是將DATATIME 和SMALLDATETIME 數據轉換為字符串時所選用的由SQL Server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式;一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉換的時候才用到.
三、下表是SQL Server 系統提供的轉換樣式編號:
 

不帶世紀數位 (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 使用其中的科威特算法。

四、不帶世紀數位的實例代碼(注釋的表示非有效的樣式號)


SELECT CONVERT(varchar(100), GETDATE(), 0) AS Style0 
SELECT CONVERT(varchar(100), GETDATE(), 1) AS Style1 
SELECT CONVERT(varchar(100), GETDATE(), 2) AS Style2 
SELECT CONVERT(varchar(100), GETDATE(), 3) AS Style3 
SELECT CONVERT(varchar(100), GETDATE(), 4) AS Style4 
SELECT CONVERT(varchar(100), GETDATE(), 5) AS Style5 
SELECT CONVERT(varchar(100), GETDATE(), 6) AS Style6 
SELECT CONVERT(varchar(100), GETDATE(), 7) AS Style7 
SELECT CONVERT(varchar(100), GETDATE(), 8) AS Style8 
SELECT CONVERT(varchar(100), GETDATE(), 9) AS Style9 
SELECT CONVERT(varchar(100), GETDATE(), 10) AS Style10 
SELECT CONVERT(varchar(100), GETDATE(), 11) AS Style11 
SELECT CONVERT(varchar(100), GETDATE(), 12) AS Style12 
SELECT CONVERT(varchar(100), GETDATE(), 13) AS Style13 
SELECT CONVERT(varchar(100), GETDATE(), 14) AS Style14 
--SELECT CONVERT(varchar(100), GETDATE(), 15) AS Style15 
--SELECT CONVERT(varchar(100), GETDATE(), 16) AS Style16 
--SELECT CONVERT(varchar(100), GETDATE(), 17) AS Style17 
--SELECT CONVERT(varchar(100), GETDATE(), 18) AS Style18 
--SELECT CONVERT(varchar(100), GETDATE(), 19) AS Style19 
SELECT CONVERT(varchar(100), GETDATE(), 20) AS Style21 
SELECT CONVERT(varchar(100), GETDATE(), 21) AS Style21 
SELECT CONVERT(varchar(100), GETDATE(), 22) AS Style22 
SELECT CONVERT(varchar(100), GETDATE(), 23) AS Style23 
SELECT CONVERT(varchar(100), GETDATE(), 24) AS Style24 
SELECT CONVERT(varchar(100), GETDATE(), 25) AS Style25 
--SELECT CONVERT(varchar(100), GETDATE(), 26) AS Style26 
--SELECT CONVERT(varchar(100), GETDATE(), 27) AS Style27 
--SELECT CONVERT(varchar(100), GETDATE(), 28) AS Style28 
--SELECT CONVERT(varchar(100), GETDATE(), 29) AS Style29 
--SELECT CONVERT(varchar(100), GETDATE(), 30) AS Style30 
--SELECT CONVERT(varchar(100), GETDATE(), 31) AS Style31

運行結果:

Sql中將datetime轉換成字符串的方法

Sql中將datetime轉換成字符串的方法


 

Sql中將datetime轉換成字符串的方法

五、帶世紀數位的實例代碼(注釋的表示非有效的樣式號):


SELECT CONVERT(varchar(100), GETDATE(), 100) AS Style100 
SELECT CONVERT(varchar(100), GETDATE(), 101) AS Style101 
SELECT CONVERT(varchar(100), GETDATE(), 102) AS Style102 
SELECT CONVERT(varchar(100), GETDATE(), 103) AS Style103 
SELECT CONVERT(varchar(100), GETDATE(), 104) AS Style104 
SELECT CONVERT(varchar(100), GETDATE(), 105) AS Style105 
SELECT CONVERT(varchar(100), GETDATE(), 106) AS Style106 
SELECT CONVERT(varchar(100), GETDATE(), 107) AS Style107 
SELECT CONVERT(varchar(100), GETDATE(), 108) AS Style108 
SELECT CONVERT(varchar(100), GETDATE(), 109) AS Style109 
SELECT CONVERT(varchar(100), GETDATE(), 110) AS Style110 
SELECT CONVERT(varchar(100), GETDATE(), 111) AS Style111 
SELECT CONVERT(varchar(100), GETDATE(), 112) AS Style112 
SELECT CONVERT(varchar(100), GETDATE(), 113) AS Style113 
SELECT CONVERT(varchar(100), GETDATE(), 114) AS Style114 
--SELECT CONVERT(varchar(100), GETDATE(), 115) AS Style115 
--SELECT CONVERT(varchar(100), GETDATE(), 116) AS Style116 
--SELECT CONVERT(varchar(100), GETDATE(), 117) AS Style117 
--SELECT CONVERT(varchar(100), GETDATE(), 118) AS Style118 
--SELECT CONVERT(varchar(100), GETDATE(), 119) AS Style119 
SELECT CONVERT(varchar(100), GETDATE(), 120) AS Style121 
SELECT CONVERT(varchar(100), GETDATE(), 121) AS Style121 
--SELECT CONVERT(varchar(100), GETDATE(), 122) AS Style122 
--SELECT CONVERT(varchar(100), GETDATE(), 123) AS Style123 
--SELECT CONVERT(varchar(100), GETDATE(), 124) AS Style124 
--SELECT CONVERT(varchar(100), GETDATE(), 125) AS Style125 
SELECT CONVERT(varchar(100), GETDATE(), 126) AS Style126 
SELECT CONVERT(varchar(100), GETDATE(), 127) AS Style127 
--SELECT CONVERT(varchar(100), GETDATE(), 128) AS Style128 
--SELECT CONVERT(varchar(100), GETDATE(), 129) AS Style129 
SELECT CONVERT(varchar(100), GETDATE(), 130) AS Style130 
SELECT CONVERT(varchar(100), GETDATE(), 131) AS Style131

運行結果:

Sql中將datetime轉換成字符串的方法


 

Sql中將datetime轉換成字符串的方法



SQL將datetime轉化為字符串並截取字符串

 
select sr_child as '孩子姓名', sr_parents as '家長姓名' ,ss_updatetime as '分配時間', left(ss_updatetime,CHARINDEX(' ',ss_updatetime)-1),SUBSTRING(CONVERT(CHAR(19), ss_updatetime, 120),1,10)as '轉換格式並截取后的時間'from dbo.tb_sell_resources,dbo.tb_sell_selldetails where sr_id = ss_rsid and ss_qdstate <> 1 order by ss_updatetime 



sql 中字符串截取函數: SUBSTRING(name,start,end)
name: 字符串格式的 字段名
start: 規定開始位置(起始值是 1)
end:截取字符串結束的位置


sql 中Datetime格式轉換為字符串格式: 2000-01-01 01:01:01(Datetime) CONVERT(CHAR(19), CURRENT_TIMESTAMP, 120)

CURRENT_TIMESTAMP: 當前時間(此處可以寫Datetime格式的字段名,例如ss_updatetime)
其余的參數(CHAR(19), 120等)不用修改
使用之后 2000-01-01 01:01:01(Datetime)變為 2000-01-01 01:01:01(字符串格式)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM