关于什么时候应该使用CAST而不是CONVERT,一般的指导是什么?选择一个与另一个相关的性能问题吗?是不是更接近ANSI-SQL?
发布于 2009-04-01 21:39:02
CONVERT是特定于SQL Server的,CAST是ANSI。
CONVERT更加灵活,你可以格式化日期等。除此之外,它们几乎是一样的。如果您不关心扩展功能,请使用CAST。
编辑:
正如@beruic和@C-F在下面的注释中指出的那样,当使用隐式转换时(即既不使用CAST也不使用CONVERT),可能会损失精度。有关更多信息,请参见CAST and CONVERT,特别是此图:SQL Server Data Type Conversion Chart。有了这些额外的信息,原始的建议仍然是相同的。在可能的地方使用CAST。
发布于 2009-04-01 21:22:50
Convert有一个用于日期到字符串转换的样式参数。
http://msdn.microsoft.com/en-us/library/ms187928.aspx
发布于 2014-03-27 23:37:22
CAST是标准SQL,但CONVERT仅适用于方言T-SQL。在datetime的情况下,我们有一个转换的小优势。
对于CAST,您可以指示表达式和目标类型;对于CONVERT,有第三个参数表示转换的样式,这在某些转换中是受支持的,比如字符串与日期和时间值之间的转换。例如,CONVERT( DATE,'1/2/2012',101)使用代表美国标准的101样式将文字字符串转换为DATE。
https://stackoverflow.com/questions/707335
复制相似问题