SQL SERVER CAST 和 CONVERT 函数

时间:2023-12-22 18:52:20

遇到CAST 函数转化数字不一致情况,

select CAST('0000000011237590798' AS money) / 100 AS Amount
--output : 112375907.98

select CAST('0000000011237590798' AS real) / 100 AS Amount
--output : 112375912

==================================================================

以下参考自:http://www.2cto.com/database/201310/250880.html

这个文章里面讲的很全面。

sqlserver
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
参数
expression
是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。
data_type
目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
style
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。