0

bigint フィールドを nvarchar フィールドで更新したい。だから、私はこのクエリを書きます。

update table1 
set convert(bigint,table1.No)=convert(bigint,substring(table_2.Desc,21,50))
from table1
inner join table_2 on table1.ID=table_2.ID  

SQL Server は、「データ型 nvarchar から bigint への変換中にエラーが発生しました。」のようなエラーを表示します。この問題を解決するにはどうすればよいですか? 誰でも私を助けてください。

4

1 に答える 1

0

CONVERTの左側のあなたの表現SETは不要です。あなたはただやるべきです

update table1
set table1.[No]=convert(bigint,substring(table_2.[Desc],21,50))
from table1
inner join table_2 on table1.ID=table_2.ID

「データ型 nvarchar から bigint への変換エラー」。エラーメッセージはconvert、おそらく適切にフォーマットされた数値ではないため、内部の式を bigint に変換できないことを意味します。あなたの21,50主張は正しいですか?最後の引数は、最後の文字のインデックスではなく、部分文字列の長さsubstringでなければならないことを知っていますか? 電話してみる

select substring(table_2.[Desc],21,50) from table_2

何を数値として使用しようとしているのかを確認します。

于 2013-10-08T14:26:44.933 に答える