T-SQL Cast versus Convert(T-SQL 转换与转换)
问题描述
关于何时应该使用 CAST
和 CONVERT
的一般指导是什么?是否存在与选择一个或另一个相关的性能问题?是不是更接近于 ANSI-SQL?
What is the general guidance on when you should use CAST
versus CONVERT
? Is there any performance issues related to choosing one versus the other? Is one closer to ANSI-SQL?
推荐答案
CONVERT
是 SQL Server 特定的,CAST
是 ANSI.
CONVERT
is SQL Server specific, CAST
is ANSI.
CONVERT
更灵活,您可以格式化日期等.除此之外,它们几乎相同.如果您不关心扩展功能,请使用 CAST
.
CONVERT
is more flexible in that you can format dates etc. Other than that, they are pretty much the same. If you don't care about the extended features, use CAST
.
正如@beruic 和@C-F 在下面的评论中指出的那样,使用隐式转换时可能会损失精度(即既不使用 CAST 也不使用 CONVERT 的转换).有关详细信息,请参阅 CAST 和 CONVERT,特别是此图形:SQL Server 数据类型转换图表.有了这些额外的信息,原来的建议仍然保持不变.尽可能使用 CAST.
As noted by @beruic and @C-F in the comments below, there is possible loss of precision when an implicit conversion is used (that is one where you use neither CAST nor CONVERT). For further information, see CAST and CONVERT and in particular this graphic: SQL Server Data Type Conversion Chart. With this extra information, the original advice still remains the same. Use CAST where possible.
这篇关于T-SQL 转换与转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:T-SQL 转换与转换


基础教程推荐
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 带更新的 sqlite CTE 2022-01-01