2017-01-09 4 views
0

データベーステーブルから一部のデータを読み込みましたが、テキストに '/'文字が含まれています。SQL Server 2008への特殊文字の挿入RE

この文字列を別のSQLテーブルに挿入する必要がありますが、正しくエスケープするのに問題があります。まだいくつかのグーグル検索した後

Test/test2

、私はテキスト (Ref1Ref2 REFSグーグル)

Field1= replace (cast('Test/th' as nvarchar),'/','\\\') 

を挿入するために使用しています。しかし、それ:

私が読ん文字列はこのパターンが含まれている場合エラーを返します。

Msg 8152, Level 16, State 2, Line 18 String or binary data would be truncated.

は、私が使用している場合:

Field1= replace (cast('Test/th' as nvarchar),'/','') 

すべては大丈夫です

誰もが私のエスケープ句で私を助けてくださいことはできますか?

+1

このエラーは、カラムより長い文字列を保存しようとしていることを示しています。私はこれが特殊文字とは関係ないと思う。 'Field1'の定義は何ですか?変換には 'NVARCHAR'という長さを使用する必要があります。 'CONVERT(NVARCHAR(20)、 'Test/th')' – GarethD

+1

最初に置き換えたのは何ですか?スラッシュのすべてのインスタンスを....スラッシュで変更しています。 –

+0

申し訳ありませんが、 –

答えて

0

あなたのカラムフィールドの長さが6に設定されていると思います。

関連する問題