SQL 中的 CAST 和 CONVERT 是不是相同? [复制]
Posted
技术标签:
【中文标题】SQL 中的 CAST 和 CONVERT 是不是相同? [复制]【英文标题】:Are CAST and CONVERT the same in SQL? [duplicate]SQL 中的 CAST 和 CONVERT 是否相同? [复制] 【发布时间】:2012-10-16 16:52:45 【问题描述】:可能重复:T-SQL Cast versus Convert
CAST
和CONVERT
在SQL中的主要区别是什么导致两者都进行数据类型转换?
【问题讨论】:
“in SQL”是什么意思? SQL 是一种语言,convert
不是标准的 SQL 函数(运算符?)
【参考方案1】:
CAST 和 CONVERT 具有相似的功能。 CONVERT 是特定于 SQL Server 的,在日期和时间值、小数和货币符号之间进行转换时具有更大的灵活性。 CAST 是这两个函数中更符合 ANSI 标准的函数。查看此博客以获取使用这两种方法的示例:http://sqltutorials.blogspot.com/2007/06/sql-cast-and-convert.html
【讨论】:
CAST
不是这两个函数的唯一 ANSI 标准吗?【参考方案2】:
convert
函数可以进行更复杂的转换,例如使用特定格式将datetime
值转换为varchar
:
convert(varchar(16), dateTimeValue, 120)
【讨论】:
【参考方案3】:假设您说的是 SQL Server。
来自http://msdn.microsoft.com/en-us/library/ms187928.aspx 和http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx
将一种数据类型的表达式显式转换为另一种数据类型。 CAST 和 CONVERT 提供类似的功能。
所以是的,它们在功能上是相同的。它们只是具有不同的语法,可以进行更复杂的转换或(主观地)提高可读性。
【讨论】:
以上是关于SQL 中的 CAST 和 CONVERT 是不是相同? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 与 T-SQL 中的 Cast 和 Convert 函数有啥区别? [复制]
SQL SERVER中强制类型转换cast和convert的区别