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 转换与转换
基础教程推荐
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 无法解决整理冲突 2021-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- 在 SQL 中连接多个表 2021-01-01
