2017-10-17 5 views
0

SQL Serverでmybatisを使用しています。クエリを挿入すると、mybatisクエリにN'userId 'を追加してSQL Serverに挿入する方法

N'something to insert' 

を使用します。

例えば、

は、私はこれをどのように行うことができます..私は

N'#{userId}' 

を試してみましたが、それはエラーが発生しましたか?

+0

'N '..'' SQLでの表記サーバは** Unicode **文字列リテラルを表します(シングルクォートの前に 'N'を省略すると、非Unicode文字列リテラルとは異なります)。あなたがここで何を期待しているのか分かりません.... –

+0

私が知りたいのは、mybatisクエリでプレフィックスNを追加する方法です。たとえば、..テスト値(N'userId ')に挿入..私はmybatisクエリステートメントにこのクエリステートメントを変更したい – heesu

+0

あなたはNなしで試してみましたか?例:#{userId} –

答えて

0

私はそれはあなたがハードコーディングされた値渡したときに動作を推測:

N'userId' 

をあなたとリテラル値を渡す場合:

N'${userId}' 

それは同じように動作する必要があり、値が表示されますされ生成されたSQL:

INSERT INTO test VALUES(N'userId') 

あなたが直面しているエラーがN表記法

INSERT INTO test VALUES(N'?') 

それともあなただけのパラメータがすでに文字列/ varchar型であるため、引用符を削除する必要があります:バインド・パラメータをサポートしていない、生成されたSQLがある

N#{userId} 
関連する問題