フィールド値の「等しい」判定

概要

条件に合うテーブル行のフィールド平均値を計算する」をはじめとする条件付き集計の「やること」や、「フィールド値が特定の値ならば」のようなフィールド値を比較する「条件」では、フィールドの値とパラメーターで指定した値について「等しい」かどうかの比較を行うことがあります。

ここでは、Customine においてフィールド値とパラメーター値を比較して「等しい」かどうかを判定するルールを記載します。大小比較についてはこちらのドキュメントを参照してください。

以下、本ページ内では、比較するフィールドの値を「左辺」、比較値を「右辺」と呼びます。

フィールドタイプ別の表

左辺のフィールドタイプに応じて比較方法が変わってきます。

フィールドタイプによっては、フィールドの値は文字列とは限りません。一方右辺値は文字列なので「文字列でないものと文字列をどう比較するか?」がポイントになります。

左辺 比較方法
文字列(1行) まず数値として比較し、数値としては一致しない場合文字列として比較
数値 数値として比較
計算 まず数値として比較し、数値としては一致しない場合文字列として比較
文字列(複数行) 文字列として比較
リッチエディター 右辺が空の場合は、左辺と「空を表すHTML」と比較。
それ以外の場合は文字列として比較
チェックボックス 文字列配列として比較
ラジオボタン 文字列として比較
ドロップダウン 文字列として比較
複数選択 文字列配列として比較
添付ファイル ※ 非対応につきエラー ※
リンク 文字列として比較
日付 文字列として比較
時刻 文字列として比較
日時 文字列として比較
ユーザー選択 code/name の配列として比較(guest/除去あり)
組織選択 code/name の配列として比較(guest/除去なし)
グループ選択 code/name の配列として比較(guest/除去なし)
レコード番号 左辺、右辺ともアプリコード部分を除去したうえで数値に変換して比較
作成者 / 更新者 code/name オブジェクトとして比較(guest/除去あり)
作成日時 / 更新日時 文字列として比較
カテゴリー 文字列配列として比較
ステータス 文字列として比較
作業者 code/name の配列として比較(guest/除去あり)

文字列として比較

左辺、右辺とも、全角半角、大文字小文字を無視して等しいかどうかが調べられます。

数値として比較

内部的に数値に変換して比較します。左辺、右辺のうちの少なくとも一方が数値に変換できなかった場合は「数値としては一致しない」とみなされます。

文字列配列として比較

左辺が空配列の場合、右辺が空文字列ならば「等しい」と判定し、そうでなければ「等しくない」と判定します。

左辺が1要素の場合、その1つの要素と右辺値を「文字列として比較」します。

左辺が2要素以上の場合、左辺の配列をカンマ区切りした文字列と右辺値を「文字列として比較」します。

code/name オブジェクトとして比較

このドキュメントで言う「code/name オブジェクト」とは、ユーザーの「ログイン名/表示名」のようにコードと名前の組み合わせで表現されるものです。code 値は以下を表します。

  • ユーザー選択や作業者など、ユーザーを表すものの場合はログイン名
  • 組織選択の場合は組織コード
  • グループ選択の場合はグループコード

このタイプのフィールド値を比較する場合、左辺の code 値と右辺値を「文字列として比較」します。name 値は比較されません。

上の表中「guest/除去あり」とある場合、左辺・右辺とも、“guest/” 部分を除去します。これは kintone のゲストユーザーを容易に比較するための仕様です。例えば左辺の code が “guest/test@r3it.com” で、右辺値が “test@r3it.com” だった場合、左辺値は “guest/” を除去して “test@r3it.com” となるので、「等しい」と判定されます。

code/name の配列として比較

左辺が空配列の場合、右辺が空文字列ならば「等しい」と判定し、そうでなければ「等しくない」と判定します。

左辺が1要素の場合、その1つの要素を「code/name オブジェクトとして比較」します。

左辺が2要素以上の場合は「等しくない」と判定します。

注意事項

  • 日付や時刻は文字列として比較することになりますが、左辺値は kintone の内部形式であり、これと右辺値がそのまま比較される点に注意してください。例えば左辺が “2024-02-14” で、右辺値を “2024/2/14” という形で指定した場合は「等しくない」と判定されます。