いくつかの挿入 T-SQL クエリでプレフィックス N を見たことがあります。多くの人がN
テーブルに値を挿入する前に使用しています。
N
検索しましたが、テーブルに文字列を挿入する前に を含める目的が何なのか理解できませんでした。
INSERT INTO Personnel.Employees
VALUES(N'29730', N'Philippe', N'Horsford', 20.05, 1),
この「N」接頭辞はどのような目的で使用され、いつ使用されるのでしょうか?
ベストアンサー1
文字列をnvarchar
データ型として宣言するのではなく、varchar
N プレフィックスを使用して文字列を渡す Transact-SQL コードを見たことがあるかもしれません。これは、後続の文字列が Unicode であることを示します (N は実際には National language character set を表します)。つまり、CHAR、VARCHAR、または TEXT ではなく、NCHAR、NVARCHAR、または NTEXT 値を渡すことになります。
引用するマイクロソフトより:
Unicode 文字列定数の前に文字 N を付けます。N プレフィックスがない場合、文字列はデータベースの既定のコード ページに変換されます。この既定のコード ページでは、特定の文字が認識されない場合があります。
これら 2 つのデータ型の違いを知りたい場合は、次の SO 投稿を参照してください。