UPDATE SOP60300
SET SOP60300.CUSTITEMDESC = IV00101.ITEMDESC
FROM IV00101
WHERE IV00101.ITEMNMBR = SOP60300.ITEMNMBR
アイテムの説明から顧客の説明を更新する必要があります。上記のスクリプトを実行すると、以下のエラーメッセージが表示されます。顧客の説明が保持できる最大値はCHAR51で、アイテムの説明はCHAR101です。ステートメントが実行されるように最後の50CHARを切り取りたいだけです。
私はSQLServer2008R2を使用していることに注意してください
メッセージ8152、レベル16、状態14、行2
文字列またはバイナリデータは切り捨てられます。
を使用することもできますLEFT
。と同等SUBSTRING(colName, 1, 1)
です。LEFT
指定された文字数の文字列の左側を返します。
SET SOP60300.CUSTITEMDESC = LEFT(IV00101.ITEMDESC, 50)
したがって、列の値から最初の50文字を取得します。
LEFTは少しすっきりしているので好きですが、実際にはどちらの方法でも違いはありません。
SQL SERVER2008のSQLFiddle:-http://sqlfiddle.com/#!3 / ad609 / 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加