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

CASTCONVERT在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语句中的convert是啥意思

SQL SERVER中强制类型转换cast和convert的区别

SQL中CAST和CONVERT用在时间转换上的区别(我新手,越详细越好)

SQL 查询中的 CONVERT 或 CAST 字段

SQL CAST与CONVERT区别