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 转换与转换


基础教程推荐
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01