这个问题已经在这里有了答案 :
T-SQL转换与转换 (7个答案)
7年前关闭。
选择什么:Cast或Convert用于日期时间(Microsoft SQL Server)?
Cast
Convert
我看过MSDN规范。乍一看,似乎没有什么区别,除了语法:
CAST的语法:
CAST ( expression AS data_type [ ( length ) ] )
CONVERT的语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
而且 CAST 是ANSI标准,这使其在不同的数据库平台上都更具可移植性。
convert有一个可选参数style,我建议用convert代替cast。它有助于避免混乱。例如,如果您编写cast('20130302' as date),您会得到什么?3月2日还是2月3日?
convert
style
cast
cast('20130302' as date)
另外,如果要在将日期转换为字符串时需要特定的格式,则必须使用 convert