ArcGIS Server でサポートされている SQL 関数
デフォルトでは、ArcGIS Server は標準化されたクエリを適用します。開発者は、マップ、フィーチャ、イメージ、および WFS サービスを REST または SOAP を通じて操作するとき、標準化された SQL クエリを使用する必要があります。これは、SQL インジェクション攻撃を防ぐのに役立ちます。詳細については、「標準化されたクエリについて」をご参照ください。
データベース固有の WHERE 句構文を現在使用しているアプリケーション開発者は、アプリケーションのコード内にある WHERE 句を更新して、ArcGIS Server がサポートする一般的な SQL 構文を使用する必要があります。サポートされている SQL 関数とその構文は次のとおりです。アプリケーション内で次の関数と構文が使用されている場合、ArcGIS Server は、サービスが使用するデータベースの仕様に合わせてそれらを変換します。
関数タイプ |
関数 |
説明 |
例 |
注意事項 |
---|---|---|---|---|
日付 |
CURRENT_DATE |
セッションのタイム ゾーンにおける現在の日付を返します。 |
Datefield < CURRENT_DATE |
次の日付とタイムスタンプの構文だけがサポートされています。 date 'yyyy-mm-dd'(例: Datefield = date '2012-05-29') timestamp 'yyyy-mm-dd hh:mm:ss'(例: Datefield = timestamp '2012-05-29 15:14:25') |
CURRENT_TIMESTAMP |
現在の現地時間を返します。 |
Timestampfield < CURRENT_TIMESTAMP |
||
EXTRACT(extract_field FROM extract_source) |
年、月、日、時間、分など、日付/時刻の一部を返します。 extract_field 引数には、YEAR、MONTH、DAY、HOUR、MINUTE、または SECOND のいずれかのキーワードを指定できます。 |
11 月のすべての行を検索します。 EXTRACT(MONTH FROM Datefield) = 11 |
||
算術演算 |
ABS(numeric_exp) |
指定した数値式の絶対値(正の値)を返します。 |
||
CEILING(numeric_exp) |
指定した数値式以上で、最も小さな整数を返します。 |
|||
FLOOR(numeric_exp) |
指定した数値式以下で、最も大きな整数を返します。 |
|||
LOG(float_exp) |
指定した浮動小数点式の自然対数を返します。 |
|||
LOG10(float_exp) |
指定した浮動小数点式の常用対数を返します。 |
|||
POWER(numeric_exp, integer_exp) |
指定した式の、指定した累乗の値を返します。 |
POWER(Numericfield, 2) = 16 |
||
ROUND(numeric_exp, integer_exp) |
指定した長さまたは精度に丸めた数値を返します。 |
|||
TRUNCATE(numeric_exp, integer_exp) |
値を丸めずに、特定の長さまたは精度にした数値を返します。 |
|||
文字列 |
CHAR_LENGTH(string_exp) |
入力文字列の長さ(文字数)を返します。 |
||
CONCAT(string_exp1, string_exp2) |
複数の文字列を連結した文字列を返します。 |
|||
LOWER(string_exp) |
大文字のデータを小文字に変換した文字式を返します。 |
|||
SUBSTRING(string_exp FROM start FOR length) |
文字またはテキスト式の一部を返します。 |
Stringfield の値から、最初の 2 文字が Ch である行をすべて検索します。 SUBSTRING(Stringfield FROM 1 FOR 2)='Ch' |
||
UPPER(string_exp) |
小文字のデータを大文字に変換した文字式を返します。 |