入力文字セット (Entity SQL)

Entity SQL は、UTF-16 でエンコードされた UNICODE 文字を受け取ります。

文字列リテラルには、単一引用符で囲んだ任意の UTF-16 文字を含めることができます (N'リテラル文字列' など)。文字列リテラルが比較される際は、元の UTF-16 の値が使用されます。たとえば、N'ABC' は、日本語とラテンのコードページでは異なります。

コメントには、任意の UTF-16 文字を含めることができます。

エスケープされた識別子には、角かっこで囲んだ任意の UTF-16 文字を含めることができます ([エスケープされた識別子] など)。UTF-16 でエスケープされた識別子の比較では大文字と小文字が区別されません。Entity SQL では、同じように見える文字であってもコード ページが異なる場合は、異なる文字と見なされます。たとえば、対応する文字が同じコード ページである場合、[ABC] は [abc] と同じものと見なされます。ただし、同じ 2 つの識別子のコード ページが異なる場合は、同じものと見なされません。

空白は、任意の UTF-16 空白文字です。

改行は、任意の正規化 UTF-16 改行文字です。たとえば、'\n' および '\r\n' は改行文字と見なされますが、'\r' は改行文字ではありません。

キーワード、式、および句読点には、ラテン語に正規化された任意の UTF-16 文字を使用できます。たとえば、日本語のコードページの SELECT は有効なキーワードです。

キーワード、式、および句読点に使用できるのはラテン文字だけです。日本語のコードページの SELECT はキーワードではありません。+、-、*、/、=、(、)、‘、[、]、およびここに示されていないその他の言語コンストラクトに使用できるのは、ラテン文字だけです。

シンプルな識別子に使用できるのはラテン文字だけです。元の値が比較されるので、比較の際のあいまいさが回避されます。たとえば、[ABC] は、日本語とラテン語のコードページでは異なります。

参照

概念

Entity SQL の概要