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