一、回顧一下CONVERT()的語法格式:CONVERT (data_ type>[ length ], expression> [, style])
二、這里注重說明一下style的含義:style 是將DATATIME 和SMALLDATETIME 數(shù)據(jù)轉(zhuǎn)換為字符串時(shí)所選用的由SQL Server 系統(tǒng)提供的轉(zhuǎn)換樣式編號(hào),不同的樣式編號(hào)有不同的輸出格式;一般在時(shí)間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉(zhuǎn)換的時(shí)候才用到.
三、下表是SQL Server 系統(tǒng)提供的轉(zhuǎn)換樣式編號(hào):
不帶世紀(jì)數(shù)位 (yy) |
帶世紀(jì)數(shù)位 (yyyy) |
標(biāo)準(zhǔn) |
輸入/輸出** |
- |
0 或 100 (*) |
默認(rèn)值 |
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 (*) |
默認(rèn)值 + 毫秒 |
mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
10 |
110 |
美國 |
mm-dd-yy |
11 |
111 |
日本 |
yy/mm/dd |
12 |
112 |
ISO |
yymmdd |
- |
13 或 113 (*) |
歐洲默認(rèn)值 + 毫秒 |
dd mon yyyy hh:mm:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 或 120 (*) |
ODBC 規(guī)范 |
yyyy-mm-dd hh:mm:ss[.fff] |
- |
21 或 121 (*) |
ODBC 規(guī)范(帶毫秒) |
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
|
表中‘*'表示的含義說明: * 默認(rèn)值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀(jì)數(shù)位 (yyyy)。
** 當(dāng)轉(zhuǎn)換為 datetime時(shí)輸入;當(dāng)轉(zhuǎn)換為字符數(shù)據(jù)時(shí)輸出。
*** 專門用于 XML。對(duì)于從 datetime或 smalldatetime 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出格式如表中所示。對(duì)于從 float、money 或 smallmoney 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 2。對(duì)于從 real 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 1。
**** Hijri 是具有幾種變化形式的日歷系統(tǒng),Microsoft? SQL Server? 2000 使用其中的科威特算法。
四、不帶世紀(jì)數(shù)位的實(shí)例代碼(注釋的表示非有效的樣式號(hào)):
復(fù)制代碼 代碼如下:
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
運(yùn)行結(jié)果:
五、帶世紀(jì)數(shù)位的實(shí)例代碼(注釋的表示非有效的樣式號(hào)):
復(fù)制代碼 代碼如下:
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
運(yùn)行結(jié)果:
SQL將datetime轉(zhuǎn)化為字符串并截取字符串
復(fù)制代碼 代碼如下:
select sr_child as '孩子姓名', sr_parents as '家長姓名' ,ss_updatetime as '分配時(shí)間', left(ss_updatetime,CHARINDEX(' ',ss_updatetime)-1),SUBSTRING(CONVERT(CHAR(19), ss_updatetime, 120),1,10)as '轉(zhuǎn)換格式并截取后的時(shí)間'from dbo.tb_sell_resources,dbo.tb_sell_selldetails where sr_id = ss_rsid and ss_qdstate > 1 order by ss_updatetime
sql 中字符串截取函數(shù): SUBSTRING(name,start,end)
name: 字符串格式的 字段名
start: 規(guī)定開始位置(起始值是 1)
end:截取字符串結(jié)束的位置
sql 中Datetime格式轉(zhuǎn)換為字符串格式: 2000-01-01 01:01:01(Datetime) CONVERT(CHAR(19), CURRENT_TIMESTAMP, 120)
CURRENT_TIMESTAMP: 當(dāng)前時(shí)間(此處可以寫Datetime格式的字段名,例如ss_updatetime)
其余的參數(shù)(CHAR(19), 120等)不用修改
使用之后 2000-01-01 01:01:01(Datetime)變?yōu)?2000-01-01 01:01:01(字符串格式)
您可能感興趣的文章:- sql語句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式
- 將WMI中的DateTime類型轉(zhuǎn)換成VBS時(shí)間的函數(shù)代碼
- LINQ字符串向datetime 轉(zhuǎn)換時(shí)失敗的處理方法
- 時(shí)間字符串轉(zhuǎn)換成日期對(duì)象datetime的方法
- Python中實(shí)現(xiàn)對(duì)Timestamp和Datetime及UTC時(shí)間之間的轉(zhuǎn)換
- C#、.Net中把字符串(String)格式轉(zhuǎn)換為DateTime類型的三種方法
- Java 和 Javascript 的 Date 與 .Net 的 DateTime 之間的相互轉(zhuǎn)換