将数字和小数转换为 INT
cast numbers and decimals into INT
我有 [funds] 以不同的格式显示,有些是小数,有些是数字:
Null
0.00
0.55
55
55555555555
等等
我试着用这个:
,CAST (REPLACE ([funds],'.','') AS INT) AS [funds]
但是遇到这个错误:
varchar 值“288294130100”的转换溢出了一个 int 列。
如何处理数字和小数的组合?
您可以将它们转换为 BIGINT。但是,当您转换为 BIGINT 时,小数位将会丢失。
SELECT cast(v as bigint) as bigvalue FROM (
VALUES
(Null)
,(0.00)
,(0.55)
,(55 )
,(55555555555)
,(288294130100)) as t(v)
bigvalue
NULL
0
0
55
55555555555
288294130100
我有 [funds] 以不同的格式显示,有些是小数,有些是数字:
Null
0.00
0.55
55
55555555555
等等
我试着用这个: ,CAST (REPLACE ([funds],'.','') AS INT) AS [funds]
但是遇到这个错误:
varchar 值“288294130100”的转换溢出了一个 int 列。
如何处理数字和小数的组合?
您可以将它们转换为 BIGINT。但是,当您转换为 BIGINT 时,小数位将会丢失。
SELECT cast(v as bigint) as bigvalue FROM (
VALUES
(Null)
,(0.00)
,(0.55)
,(55 )
,(55555555555)
,(288294130100)) as t(v)
bigvalue |
---|
NULL |
0 |
0 |
55 |
55555555555 |
288294130100 |