2012-05-24 122 views
-1

使用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 
.... 

我想删除从表1零的像8.5 17.5 ....

预计输出继电器

ID column1 column2 

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

如何做到这一点。

需要SQL查询帮助

+4

那是什么字段的数据类型? –

+0

数据类型是nvarchar(20) – JetJack

回答

2

例子:

select cast (017.50 as float) 

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

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

如果你这样做10,1它会圆号码,如16.52,所以浮动是最好的选择

1

进行选择

+0

“number”不是数据类型。如果你的意思是整数,它会舍入结果并且数字将不会在最后删除零 – Diego

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 
0

你总是可以让PHP和trim()值接零的和逗号出 更新您的SQL

那就是如果你因为某些原因不能或不希望改变你的SQL数据类型

+0

如果在这个项目中没有使用PHP,该怎么办? – newbie

+0

的权利,但如果这是一次性编辑,他可以使用PHP来克服它:)只是提出替代方案 – krasatos