cli-kintone でのクエリの書き方

目次

クエリの書き方

cli-kintone で条件を絞り込むためのクエリの書き方を説明します。

絞り込み条件

レコードの絞り込み条件は、--condition オプションで指定します。
--condition オプションで指定する条件は、"(ダブルクオート)で囲んでください。
演算子/関数は組み合わせて使用できます。

1
--condition "フィールドコード 演算子 値または関数"

値に文字列や選択肢の項目を指定する場合、値を \"(エスケープしたダブルクオート)で囲みます。

1
--condition "Customer = \"サイボウズ株式会社\""
演算子
演算子 説明
= --condition "文字列_0 = \"テスト\"" 演算子の前に指定したフィールドコードの値と演算子の後に指定した値が一致する
!= --condition "文字列_0 != \"テスト\"" 演算子の前に指定したフィールドコードの値と演算子の後に指定した値が異なる
> --condition "数値_0 > 10" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値より大きい
< --condition "数値_0 < 10" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値より小さい
>= --condition "数値_0 >= 10" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値以上である
<= --condition "数値_0 <= 10" 演算子の前に指定したフィールドコードの値が、演算子の後に指定された値以下である
in --condition "ドロップダウン_0 in (\"A\", \"B\")" 演算子の前に指定したフィールドコードの値が、演算子の後の括弧内に列挙した文字列のいずれかと一致する
not in --condition "ドロップダウン_0 not in (\"A\", \"B\")" 演算子の前に指定したフィールドコードの値が、演算子の後の括弧内に列挙した文字列と一致しない
like --condition "文字列_0 like \"テスト\"" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値を含む
判定するフィールドの型が添付ファイルの場合、ファイル名とファイルの内容が判定の対象になります。
like 演算子で使用できない記号は、 検索や絞り込みで使用できない記号はありますか? (External link) を参照してください。
not like --condition "文字列_0 not like \"テスト\"" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値を含まない
like 演算子で使用できない記号は、 検索や絞り込みで使用できない記号はありますか? (External link) を参照してください。
or --condition "数値_0 < 10 or 数値_0 > 20" 上述の演算子を使用した2つの条件式の論理和
and --condition "数値_0 >= 10 and 数値_0 <= 20" 上述の演算子を使用した2つの条件式の論理積
補足
  • テーブル内のフィールド、および関連レコードのフィールドをクエリに含める場合、=!= 演算子の代わりに、innot in 演算子を使ってください。
  • クエリで文字列検索する場合は単語検索です。詳しくは 検索キーワードに関する注意 (External link) を参照してください。
関数
関数名 説明
LOGINUSER() --condition "作成者 in (LOGINUSER())" API を実行したユーザー
PRIMARY_ORGANIZATION() --condition "組織 in (PRIMARY_ORGANIZATION())" API を実行したユーザーの優先する組織
API を実行したユーザーに優先する組織が設定されていない場合、組織 in (PRIMARY_ORGANIZATION()) の条件は無視され、
それ以外の絞り込み条件を満たすすべてのレコードが取得されます。
NOW() --condition "作成日時 = NOW()" API を実行した日時
TODAY() --condition "作成日時 = TODAY()" API を実行した日
YESTERDAY() --condition "作成日時 = YESTERDAY()" API を実行した日の前日
TOMORROW() --condition "日時 = TOMORROW()" API を実行した日の翌日
FROM_TODAY(数字, 期間の単位) --condition "作成日時 < FROM_TODAY(5, DAYS)" API を実行した日から起算した期間
期間の単位に指定可能な文字列は次のとおりです。
  • DAYS:日単位
  • WEEKS:週単位
  • MONTHS:月単位
  • YEARS:年単位
THIS_WEEK(曜日) --condition "作成日時 = THIS_WEEK()" API を実行した週
引数に次の値を指定することで、曜日を指定できます。
  • SUNDAY:日曜日
  • MONDAY:月曜日
  • TUESDAY:火曜日
  • WEDNESDAY:水曜日
  • THURSDAY:木曜日
  • FRIDAY:金曜日
  • SATURDAY:土曜日
引数を指定しない場合は、今週のすべての日が対象です。
LAST_WEEK(曜日) --condition "作成日時 = LAST_WEEK()" API を実行した週の前週
引数に THIS_WEEK() と同じ値を指定することで、曜日を指定できます。
引数を指定しない場合は、前週のすべての日が対象です。
NEXT_WEEK(曜日) --condition "日時 = NEXT_WEEK()" API を実行した週の翌週
引数に THIS_WEEK() と同じ値を指定することで、曜日を指定できます。
引数を指定しない場合は、翌週のすべての日が対象です。
THIS_MONTH(数値またはフォーマット文字) --condition "作成日時 = THIS_MONTH()" API を実行した月
引数に次の値を指定することで、日付を指定できます。
  • LAST:月末
  • 1 から 31 の数値:日付
引数を指定しない場合は、月のすべての日が対象です。
指定した日付が存在しない場合は、API を実行した月の翌月1日で計算されます。
LAST_MONTH(数値またはフォーマット文字) --condition "作成日時 = LAST_MONTH()" API を実行した月の前月
引数に次の値を指定することで、日付を指定できます。
  • LAST:前月末
  • 1 から 31 の数値:前月の日付
引数を指定しない場合は、月のすべての日が対象です。
指定した日付が存在しない場合は、API を実行した月の翌月1日で計算されます。
NEXT_MONTH(数値またはフォーマット文字) --condition "日時 = NEXT_MONTH()" API を実行した月の翌月
引数に次の値を指定することで、日付を指定できます。
  • LAST:翌月末
  • 1 から 31 の数値:翌月の日付
引数を指定しない場合は、月のすべての日が対象です。
指定した日付が存在しない場合は、API を実行した月の翌々月1日で計算されます。
THIS_YEAR() --condition "作成日時 = THIS_YEAR()" API を実行した年
LAST_YEAR() --condition "作成日時 = LAST_YEAR()" API を実行した年の前年
NEXT_YEAR() --condition "日時 = NEXT_YEAR()" API を実行した年の翌年
フィールド、システム識別子ごとの利用可能な演算子と関数一覧

kintone API 共通|クエリの書き方 フィールド、システム識別子ごとの利用可能な演算子と関数一覧 を参照してください。

並び順

レコードの並び順は、--order-by オプションで指定します。

1
--order-by "更新日時 asc"

フィールドコードの後に asc を指定すると昇順、desc を指定すると降順で並び替えられます。
複数の項目で並び替える場合、「フィールドコード並び順」をカンマ区切りで指定してください。

1
--order-by "フィールドコード1 desc, フィールドコード2 asc"

--order-by で指定できるフィールドには制限があります。詳しくは ソートで選択できるフィールド (External link) を参照してください。

エスケープ処理

次のフィールドの値に、"(ダブルクオート)やバックスラッシュ \(バックスラッシュ)を含む場合、エスケープが必要です。

  • 文字列(1 行)
  • 文字列(複数行)
  • リッチエディター
  • チェックボックス
  • ラジオボタン
  • ドロップダウン
  • 複数選択
  • ステータス
エスケープの例

チェックボックス(フィールドコード:Checkbox)について、"\ を含む値をエスケープする例です。

以下は「sample"1"」をエスケープする例です。

1
--condition "Checkbox in (\"sample\\\"1\\\"\")"

以下は「sample\2\」をエスケープする例です。

1
--condition "Checkbox in (\"sample\\2\\\\\")"

サンプルクエリ

クエリの記述例は、 サンプルクエリ を参照してください。
ただし、--condition に指定するクエリは " で囲み、値を囲んだ " をエスケープする必要があります。