次のように、そのうちの1つにvarchar値を持つ複数の列があります。
1
2
4
02
05
6
03
06
123
32
87
0 で始まる値を持つレコードを見つけて、その 0 を削除し (つまり 02 > 2)、そのフィールドを更新して、0 で始まる値がないようにします。
前に0がある各レコードを手動で更新する代わりに、どうすればそれを行うことができますか? それは可能ですか?
ありがとうございました
次のように、そのうちの1つにvarchar値を持つ複数の列があります。
1
2
4
02
05
6
03
06
123
32
87
0 で始まる値を持つレコードを見つけて、その 0 を削除し (つまり 02 > 2)、そのフィールドを更新して、0 で始まる値がないようにします。
前に0がある各レコードを手動で更新する代わりに、どうすればそれを行うことができますか? それは可能ですか?
ありがとうございました
次のコードは、値を整数にキャストして文字列に戻すことにより、先頭のゼロを削除します。
update t
set col = cast(cast(col as int) as varchar(255))
where t.col like '0%'
以下を使用できます。
update yourtable
set col = substring(col, 2, len(col)-1)
where left(col, 1) = '0'
デモで SQL Fiddle を参照してください
すべてが除外されるまで、このクエリを実行します...
UPDATE Table SET Column=RIGHT(Column, LEN(Column)-1) WHERE Column LIKE '0%';
[編集] ゴードンのアプローチの方がおそらく優れています。