首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T-SQL转换与转换

T-SQL转换与转换
EN

Stack Overflow用户
提问于 2009-04-01 21:05:48
回答 6查看 143.6K关注 0票数 357

关于什么时候应该使用CAST而不是CONVERT,一般的指导是什么?选择一个与另一个相关的性能问题吗?是不是更接近ANSI-SQL?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 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。

票数 370
EN

Stack Overflow用户

发布于 2009-04-01 21:22:50

Convert有一个用于日期到字符串转换的样式参数。

http://msdn.microsoft.com/en-us/library/ms187928.aspx

票数 31
EN

Stack Overflow用户

发布于 2014-03-27 23:37:22

CAST是标准SQL,但CONVERT仅适用于方言T-SQL。在datetime的情况下,我们有一个转换的小优势。

对于CAST,您可以指示表达式和目标类型;对于CONVERT,有第三个参数表示转换的样式,这在某些转换中是受支持的,比如字符串与日期和时间值之间的转换。例如,CONVERT( DATE,'1/2/2012',101)使用代表美国标准的101样式将文字字符串转换为DATE。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/707335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档