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に指定するクエリは"で囲み、値を囲んだ"をエスケープする必要があります。