クエリ文字列を使用してレコードを取得する
クエリを使用すると、ある条件で絞り込んだ特定のレコードを取得することができます。
クエリの書き方
クエリは、主に以下の形式に沿って式を記述していきます。
[フィールドID] [演算子] [値 または 関数]
- サンプル 1
-
textフィールド (field_1_) の値が"sample"であり、dateフィールド (field_2_) の値が今日より前であるレコードを取得する。
field_1_ = "sample" and field_2_ < TODAY()
- サンプル 2
-
dropdownフィールド (field_3_) の値に"option2"もしくは"option3"が含まれていて、dateフィールド (field_2_) の値が今月中であるレコードを取得する。
field_3_ in ("option2", "option3") and field_2_ > FROM_THISMONTH("-1", "day") and field_2_ < FROM_THISMONTH("1", "month")
- サンプル 3
-
textフィールド (field_1_) の値に"sample"が含まれていて、userフィールド (field_4_) の値にログインユーザーが含まれているレコードを取得する。
field_1_ like "sample" and field_4_ in (LOGIN_USER)
- サンプル 4
-
datetimeフィールド (field_5_) の値が本日中であり、checkboxフィールド (field_6_) の値に"option2"が含まれていないか、radioフィールド (field_7_) の値に"option3"が含まれていないレコードを取得する。
field_5_ = TODAY() and (field_6_ not in ("option2") or field_3_ not in ("option3"))
演算子
演算子 | サンプル | 説明 |
---|---|---|
= | field_1_ = "test" | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値と一致するレコードを取得します。 |
!= | field_1_ != "test" | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値と異なるレコードを取得します。 |
> | field_2_ > 10 | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値より大きいレコードを取得します。 |
< | field_2_ < 10 | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値より小さいレコードを取得します。 |
>= | field_2_ >= 10 | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値以上のレコードを取得します。 |
<= | field_2_ <= 10 | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値以下のレコードを取得します。 |
in | field_3_ in ("A", "B") | 演算子の前に指定されたフィールドIDの値が、演算子の後の括弧内に列挙した文字列のいずれかと一致するレコードを取得します。 |
not in | field_3_ not in ("A", "B") | 演算子の前に指定されたフィールドIDの値が、演算子の後の括弧内に列挙したどの文字列とも一致しないレコードを取得します。 |
like | field_1_ like "test" | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値を含むレコードを取得します。 |
not like | field_1_ not like "test" | 演算子の前に指定されたフィールドIDの値が、演算子の後に指定された値を含まないレコードを取得します。 |
match | field_4_ match 10 | 演算子の前に指定されたlookupフィールドのコピー元レコードのレコードIDの値が、演算子の後に指定された値と一致するレコードを取得します。 |
not match | field_4_ not match 10 | 演算子の前に指定されたlookupフィールドのコピー元レコードのレコードIDの値が、演算子の後に指定された値と異なるレコードを取得します。 |
or | field_2_ < 10 or field_2_ > 20 | 上述の演算子を使用した2つの条件式の論理和を求めます。 |
and | field_2_ > 10 and field_2_ < 20 | 上述の演算子を使用した2つの条件式の論理積を求めます。 |
条件式を括弧「()」で囲むことで、グループ化することができます。
関数とセッション変数
関数・変数名 | サンプル | 説明 |
---|---|---|
LOGIN_USER | field_5_ in (LOGIN_USER) |
APIを実行したユーザーに変換します。 括弧「()」は付きません。 |
TODAY() | field_6_ = TODAY() |
APIを実行した日に変換します。 datetimeフィールドを対象とする場合は、当日の0時から23時59分までの期間に変換します。 |
FROM_TODAY(数字, 期間の単位) | field_6_ < FROM_TODAY("3", "day") |
APIを実行した日を基準とし、指定した期間を加算した結果に変換します。 期間の単位はday, month, yearです。 |
FROM_THISWEEK(数字, 期間の単位) | field_6_ < FROM_THISWEEK("7", "day") |
APIを実行した週の日曜日を基準とし、指定した期間を加算した結果に変換します。 期間の単位はday, month, yearです。 |
FROM_THISMONTH(数字, 期間の単位) | field_6_ < FROM_THISMONTH("1", "month") |
APIを実行した月の1日を基準とし、指定した期間を加算した結果に変換します。 期間の単位はday, month, yearです。 |
FROM_THISYEAR(数字, 期間の単位) | field_6_ < FROM_THISYEAR("-1", "year") |
APIを実行した年の1月1日を基準とし、指定した期間を加算した結果に変換します。 期間の単位はday, month, yearです。 |
フィールド毎の利用可能な演算子と関数一覧
フィールド | 演算子 | 関数 |
---|---|---|
text | = != like not like |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
textarea | = != like not like |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
number | = != > < >= <= | |
date | = != > < >= <= |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
datetime | = != > < >= <= |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
time | = != > < >= <= | |
radio | in not in | |
dropdown | in not in | |
checkbox | in not in | |
file | like not like | |
user | in not in |
LOGIN_USER |
department | in not in | |
group | in not in | |
lookup | = != like not like match not match | |
postalcode | like not like | |
address | = != like not like | |
color | = != | |
canvas | = != | |
id | = != > < >= <= | |
autonumber | = != > < >= <= like not like | |
creator | in not in |
LOGIN_USER |
createdtime | = != > < >= <= |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
modifier | in not in |
LOGIN_USER |
modifiedtime | = != > < >= <= |
TODAY() FROM_TODAY() FROM_THISWEEK() FROM_THISMONTH() FROM_THISYEAR() |
userフィールドの検索値の指定について
userフィールドはuserIDの他に、特定の組織やグループに所属しているユーザーも検索出来るようになっています。
IDを指定する際には、対象を明示する必要があるので、各IDの先頭に識別文字を追加します。
- サンプル 1
-
ユーザーIDが"2"のユーザーが含まれているレコードを取得する。
field_1_ in ("u2")
- サンプル 2
-
ユーザーIDが"2"のユーザーか組織IDが"3"の組織に所属するユーザーが含まれているレコードを取得する。
field_1_ in ("u2", "d3")
- サンプル 3
-
ユーザーIDが"2"のユーザーかグループIDが"5"のグループに所属するユーザーが含まれているレコードを取得する。
field_1_ in ("u2", "g5")
識別文字がない場合はユーザーIDを検索対象とします。