【发布时间】:2024-01-05 07:15:01
【问题描述】:
我使用的是 SQL Server 2005。数据类型是 varchar。我正在尝试将数字转换为
1250000
到
1.25
在 SQL 查询中并删除尾随零。我尝试了很多事情都没有成功 - 遇到“修剪不是函数”等。
这是我目前所拥有的,在我尝试的每次迭代中。
select top 30
var1, var2, var3, var4,
CONVERT(DECIMAL(6,2), (var5 / 1000000)) as 'Number'
from
databasetable
where
var1 = x
select top 30
var1, var2, var3, var4,
cast((var5 / 1000000) as decimal(6,2)) as 'Number'
from
databasetable
where
var1 = x
以上两个查询都四舍五入到最接近的百万,即 1250000 变为 1.00,等等。任何想法都将不胜感激。将小数改为数字也无济于事。
【问题讨论】:
-
想添加第一个查询字符串在 SQL Server 2000 中运行良好;由于最近的升级,我遇到了问题。
-
您应该使用相关信息编辑您的问题,而不是发表评论。
-
你可以试试 - cast(var5 as decimal(10,2))/ 1000000
-
Bad habits to kick : choosing the wrong data type - 你应该始终使用最合适的数据类型 - 毕竟这就是他们的目的!不要在
varchar列中存储数值! -
Yosi,这很接近。现在我得到 1.250000000 等等。
标签: c# sql sql-server decimal converter