SQL中Convert()函式的使用方法
阿新 • • 發佈:2019-02-18
定義和用法
CONVERT() 函式是把日期轉換為新資料型別的通用函式。
CONVERT() 函式可以用不同的格式顯示日期/時間資料。
語法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 規定目標資料型別(帶有可選的長度)。data_to_be_converted 含有需要轉換的值。style 規定日期/時間的輸出格式。
可以使用的 style 值:
Style ID | Style 格式 |
---|---|
100 或者 0 | mon dd yyyy hh:miAM (或者 PM) |
101 | mm/dd/yy |
102 | yy.mm.dd |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
109 或者 9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
113 或者 13 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
120 或者 20 | yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 | yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 | yyyy-mm-ddThh:mm:ss.mmm(沒有空格) |
130 | dd mon yyyy hh:mi:ss:mmmAM |
131 | dd/mm/yy hh:mi:ss:mmmAM |
例項
下面的指令碼使用 CONVERT() 函式來顯示不同的格式。我們將使用 GETDATE() 函式來獲得當前的日期/時間:
CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113)
結果類似:
Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635
另外,在實際專案中,sqlserver資料庫中的時間欄位型別為datetime,並且時間精確到了毫秒,我的需求是隻需要以某種格式顯示年月日,因此,我的sql寫法如下:select zEntityno,zNote,zItemName,zQty,CONVERT(varchar(11),zBillDate,111),zScore from b_Vipredeem ,此時程式後臺會報錯:zBillDate列無效。但是資料庫中的確存在這一列,而且在資料庫查詢控制檯執行該語句又可以得到結果,最終發現在控制檯查詢得到的結果列名為無列名,於是將以上sql改為select zEntityno,zNote,zItemName,zQty,CONVERT(varchar(11),zBillDate,111) as zBillDate,zScore from b_Vipredeem,問題得以解決。