更新表t-sql中的多个值

时间:2013-02-28 16:07:45

标签: sql sql-server sql-server-2008 tsql

我有多个列,其中一个列的varchar值如下所示。

1
2
4
02
05
6
03
06
123
32
87

我想找到任何值为0>的记录。删除该0(所以02> 2)并更新该字段,以便没有以0开头的值。

我怎样才能这样做而不是手动更新前面有0的每条记录?这甚至可能吗?

谢谢

3 个答案:

答案 0 :(得分:5)

以下代码通过将值转换为整数并返回字符串来删除前导零:

update t
    set col = cast(cast(col as int) as varchar(255))
    where t.col like '0%'

答案 1 :(得分:2)

您可以使用以下内容:

update yourtable
set col = substring(col, 2, len(col)-1)
where left(col, 1) = '0'

请参阅SQL Fiddle with Demo

答案 2 :(得分:1)

运行此查询,直到所有内容都被过滤掉,我猜...

UPDATE Table SET Column=RIGHT(Column, LEN(Column)-1) WHERE Column LIKE '0%';

[编辑]戈登的方法可能更好。