0

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

1
2
4
02
05
6
03
06
123
32
87

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

我该如何去做,而不是手动更新前面有 0 的每条记录?这甚至可能吗?

谢谢

4

3 回答 3

5

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

update t
    set col = cast(cast(col as int) as varchar(255))
    where t.col like '0%'
于 2013-02-28T16:09:42.207 回答
2

您可以使用以下内容:

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

请参阅带有演示的 SQL Fiddle

于 2013-02-28T16:12:49.473 回答
1

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

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

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

于 2013-02-28T16:11:09.420 回答