SQL中CONVERT轉(zhuǎn)化日期函數(shù)的使用方法(整理一些高手的貼子)
ljsql? 的回復(fù):
SQL中CONVERT轉(zhuǎn)化函數(shù)的用法
CONVERT的使用方法:
////////////////////////////////////////////////////////////////////////////////////////
格式:
CONVERT(data_type,expression[,style])
說明:
此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)
相互轉(zhuǎn)換的時候才用到.
例子:
SELECT ? CONVERT(varchar(30),getdate(),102) ? now
結(jié)果為
now
---------------------------------------
09/15/2001
/////////////////////////////////////////////////////////////////////////////////////
style數(shù)字在轉(zhuǎn)換時間時的含義如下
-------------------------------------------------------------------------------------------------
Style(2位表示年份) ? | ? Style(4位表示年份) ? | ? 輸入輸出格式 ?
-------------------------------------------------------------------------------------------------
- ? | ? 0 ? or ? 100 ? | ? mon ? dd ? yyyy ? hh:miAM(或PM) ?
-------------------------------------------------------------------------------------------------
1 ? | ? 101 ? | ? mm/dd/yy ?
-------------------------------------------------------------------------------------------------
2 ? | ? 102 ? | ? 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 ? or ? 109 ? | ? mon ? dd ? yyyy ? hh:mi:ss:mmmmAM(或PM)
-------------------------------------------------------------------------------------------------
10 ? | ? 110 ? | ? mm-dd-yy ?
-------------------------------------------------------------------------------------------------
11 ? | ? 111 ? | ? yy/mm/dd ?
-------------------------------------------------------------------------------------------------
12 ? | ? 112 ? | ? yymmdd ?
-------------------------------------------------------------------------------------------------
- ? | ? 13 ? or ? 113 ? | ? dd ? mon ? yyyy ? hh:mi:ss:mmm(24小時制) ?
-------------------------------------------------------------------------------------------------
14 ? | ? 114 ? | ? hh:mi:ss:mmm(24小時制) ?
-------------------------------------------------------------------------------------------------
- ? | ? 20 ? or ? 120 ? | ? yyyy-mm-dd ? hh:mi:ss(24小時制) ?
-------------------------------------------------------------------------------------------------
- ? | ? 21 ? or ? 121 ? | ? yyyy-mm-dd ? hh:mi:ss:mmm(24小時制) ?
-------------------------------------------------------------------------------------------------?
二、wgsasd311 的回復(fù):
--1.如果mydate是datetime類型字段
select ? convert(char(10),myDate,120) ? from ? myTable
--1.如果mydate是 "字符 "類型字段
select ? convert(char(10),cast(myDate ? as ? datetime),120) ? from ? myTable
可以將日期格式為20080315 轉(zhuǎn)換為2008-03-15。
三、如果你從EXCEL導(dǎo)入的數(shù)據(jù)到SQL SERVER?庫里,從EXCEL導(dǎo)入的20080315數(shù)字到SQL里后,可能這些數(shù)字變成了20080315.0000帶有小數(shù)點的值了,你必須先轉(zhuǎn)換為整型,才能轉(zhuǎn)換為日期型的。如下:
set???? abc=20080315.0000
abcd = convert(char(10),cast(abc as int),20)?? --這一步相當(dāng)于把小數(shù)點后的4個0000去掉了
convert(char(10),cast(abcd as datetime),20)? --輸出日期為:2008-03-15
個人觀點
?