如何删除前导零

时间:2012-05-24 10:51:21

标签: sql sql-server sql-server-2000

使用SQL Server 2000

表1

ID column1 column2  (datatype is nvarchar)

001 08.50 17.50
002 17.20 16.52
003 09.50 01.00
....

我想从table1中删除零,如8.5 17.5 ....

预期输出

ID column1 column2 

001 8.5 17.5
002 17.2 16.52
003 9.5 1
....

如何做到这一点。

需要Sql查询帮助

5 个答案:

答案 0 :(得分:3)

重新设计数据库,以使列的类型适合于包含在其中的数据。

答案 1 :(得分:2)

示例:

select cast (017.50 as float)

你应该使用float,因为如果你使用数字,它需要一个比例,如果比例大于数字的比例,它不会删除结束零。例如:

select cast (017.50 as numeric(10,2)) = 17.50

如果你执行10,1它会将数字舍入为16.52,所以float是最佳选择

答案 2 :(得分:1)

执行选择

时,

将列转换为数字

答案 3 :(得分:1)

试试这个:

  select cast(1234.20 as float   ) //1234.2
  select cast(01.00 as float ) //1  
  select cast(17.5 as float  ) //17.5   
  select cast(00.01 as float  ) //0.01  
  select cast(00.10 as float  ) //0.1

答案 4 :(得分:0)

你总是可以用php和trim()得到值和零和逗号 然后更新你的sql

如果由于某种原因你不能或不想改变你的sql数据类型