cast 和convert都是用來轉化數據類型的,功能上是差不多的。 表達式:CAST ( expression AS data_type ) , CONVERT (data_type[(length)], expression [, style]), 在時間轉化中一般用到convert,因為它比cast多加了一個style,可以轉化成不同時間的,打個簡單的例子吧,比方說查找一下當前的時間,select getdate(),而我們只需要到年月日而已,這時我們就可以把它轉化為select convert(varchar(100),GETDATE(),111)轉化成我們需要的,而select CAST(GETDATE() as varchar(30))cast就沒辦法或者是轉化過程比較繁瑣,convert時間后面的style值不同產生的時間格式也不一樣,具體可參看網站http://www.w3school.com.cn/sql/func_convert.asp
實例
下面的腳本使用 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