文字の扱い

EQLでは、すべてのUnicode文字を使用できます。

<Literal> ::= <StringLiteral> | <NumericLiteral>
リテラルのタイプ 扱い
文字列リテラル 文字列リテラルは、単一引用符で囲まれている必要があります。
単一引用符やバックスラッシュが中にある場合は、バックスラッシュでエスケープする必要があります。次に例を示します。
'jim'
'àlêx\'s house'
数値リテラル 数値リテラルは、整数または浮動小数点数です。

数値リテラルは単一引用符で囲めません。

数値リテラルでは、指数表記はサポートされていません。
34
.34
ブール・リテラル

TRUE/FALSE

ブール・リテラルは単一引用符で囲めません。

構造型のリテラル(Date、Time、Geocodeなど)
構造型のリテラルでは、次の例に示すように、適切な規則を使用する必要があります。
RETURN Result AS
SELECT  TO_GEOCODE(45.0, 37.0) AS Geocode,
        TO_DATETIME('2012-11-21T08:22:00Z') AS Timestamp
識別子

識別子はNCNameであることが必要です。NCName形式は、W3Cのドキュメント『Namespaces in XML 1.0 (Second Edition)』で定義されています。このドキュメントのURLはhttp://www.w3.org/TR/REC-xml-names/です。

次の場合は、識別子が二重引用符で囲まれている必要があります。
  • 識別子の中に、英字、数字、アンダースコア以外の文字が含まれている。たとえば、属性名にハイフンが含まれている場合(これは有効なNCNameです)、文内では属性名を二重引用符で囲む必要があります。その他の場合、EQLパーサーでは、ハイフンは減算演算子として扱われます。
  • 識別子の先頭が数字である。
  • 識別子に使用されている名前がEQLの予約済キーワードと同じである。たとえば、属性の名前がWHEREまたはGROUPの場合は、"WHERE"または"GROUP"と指定する必要があります。

識別子が引用符で囲まれている場合は、バックスラッシュを使用して二重引用符やバックスラッシュをエスケープする必要があります。

次に例を示します。
"Count"
"Sales.Amount"