and と同様CHAR
(CHARACTER)
にVARCHAR
(CHARACTER VARYING)
、SQL はNCHAR
(NATIONAL CHARACTER)
andNVARCHAR
(NATIONAL CHARACTER VARYING)
型を提供します。一部のデータベースでは、これは文字 (非バイナリ) 文字列に使用するのに適したデータ型です。
SQL Server では、
NCHAR
UTF-16LE として格納され、非 ASCII 文字を確実に格納する唯一の方法でありCHAR
、シングルバイト コードページのみです。Oracle では
NVARCHAR
、シングルバイトの照合順序ではなく、UTF-16 または UTF-8 として格納できます。しかし、MySQL では
NVARCHAR
isVARCHAR
であるため、どちらのタイプも UTF-8 またはその他の照合で保存できます。
では、NATIONAL
概念的には実際には何を意味するのでしょうか。ベンダーのドキュメントは、実際の理論的根拠ではなく、ベンダー自身の DBMS が使用する文字セットについてのみ説明しています。NATIONAL CHARACTER
一方、SQL92 標準では、実装定義の文字セットに格納されていることだけを述べて、この機能についてあまり役に立たない説明をしています。単なるCHARACTER
とは対照的に、実装定義の文字セットに格納されます。これは、異なる実装定義の文字セットである可能性があります。か否か。
ありがとう、ANSI。タンシ。
NVARCHAR
すべての文字 (非バイナリ) ストレージの目的で使用する必要がありますか? 現在人気のある DBMS で望ましくないことを行ったり、キーワード (またはN''
リテラル) を認識しないものはありますか?