0

というテーブルがありますOrders(Id,Number,ProductName)

Number列の値を 1 減らす SQL コマンドが必要です。Number列の型はnvchar(50)です。

4

2 に答える 2

0

私はあなたが欲しいと思います:

Update Orders
    set Number = cast(cast((case when isnumeric(Number) = 1 then Number end) as int
                          ) - 1 as nvarchar(50)
                     )

列が と呼ばれNumberているからといって、チェックしない限り、「数字」が常にそこにあるとは思いません。それが本当に数値である場合は、数値型として宣言してください。

于 2013-05-26T19:06:35.233 に答える
0

これはあなたが探しているものですか?

UPDATE Orders
SET Number = Number - 1

SQL フィドルのデモ

Number 列の一部の値が数値でない場合は、 isnumeric を使用して確認できます。

UPDATE Orders
SET Number = Number - 1
WHERE IsNumeric(Number) = 1

もっとフィドル

于 2013-05-26T19:00:54.753 に答える