gpt4 book ai didi

tsql - 将 varchar 转换为 float 到 bigint

转载 作者:行者123 更新时间:2023-12-04 05:04:20 26 4
gpt4 key购买 nike

我正在尝试将 varchar 转换为 bigint。然后将其插入到 int 列中。我发现我没有得到预期的值(value)。然后我尝试了以下语句:

DECLARE @varData VARCHAR(50)

SET @varData = '0000019.33'

select cast(@varData *cast(100 as float) as bigint)

select cast(@varData *cast(100 as float) as varchar)

select cast(cast(@varData *cast(100 as float) as varchar) as float)

结果:
1932

1933

1933

我无法理解为什么会出现这种差异。但是当我将值更改为 0000029.33 时那么结果就没有区别了。

我被卡住了,不知道为什么会这样。需要帮助..!!!

最佳答案

请看这个 Difference between numeric,float and decimal in sql server

对于你的问题,你应该尝试 CAST @vardata 作为数字,像这样

SELECT CAST(CAST(@varData AS numeric(27,9)) * 100  AS bigint)

关于tsql - 将 varchar 转换为 float 到 bigint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com