質問: ms sqlserver のsqlで文字列の前にn: ms sqlserver のsqlで文字列の前にn: をつけることをよく見かけますが、 「n:」とはいったいどんな意味なのでしょうか? 教えて下さい。
回答: t-sqlでの話かと思いますが・・・。nchar/nvarchar型という、型(タイプ)があるのですが、これらは、夫々、national character/national character varying(sql-92での表記法)の意味を持っています。夫々、固定長文字列(unicode)/可変長文字列(unicode)です。 nvarcharはsql-server2000では4000文字まで、varchar2は8000文字まで格納可です。(つまり、1/2になるということです) さて、n'***' とt-sql内で書くと、''内の文字をunicodeで表現されたものとして処理する、という意味になります。nは、nationalの略です。ですから、日本語を使おうとするとnは必須になる、という事ですね。 こんな感じでつかいます。#n'unicode 文字列'