SQL中CONVERT轉化函數的用法
CONVERT的使用方法:
////////////////////////////////////////////////////////////////////////////////////////
格式:
CONVERT(data_type,expression[,style])
說明:
此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)
相互轉換的時候才用到.
例子:
SELECT CONVERT(varchar(30),getdate(),102) now
結果為
now
/////////////////////////////////////////////////////////////////////////////////////
style數字在轉換時間時的含義如下
-------------------------------------------------------------------------------------------------
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小時制)
-------------------------------------------------------------------------------------------------
二、其它人所說的方法;
--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 轉換為2008-03-15。
三、如果你從Excel導入的數據到SQL Server 庫裡,從Excel導入的20080315數字到SQL裡後,可能這些數字變成了20080315.0000帶有小數點的值了,你必須先轉換為整型,才能轉換為日期型的。如下:
set abc=20080315.0000
abcd = convert(char(10),cast(abc as int),20) --這一步相當於把小數點後的4個0000去掉了
convert(char(10),cast(abcd as datetime),20) --輸出日期為:2008-03-15