メインコンテンツまでスキップ
メインコンテンツまでスキップ

比較関数

比較ルール

以下の比較関数は、0 または 1 を型 UInt8 で返します。同じグループ内の値のみを比較できます(例: UInt16UInt64)、グループを跨いで比較することはできません(例: UInt16DateTime)。数値と文字列の比較、日時および時間の比較が可能です。タプルと配列の場合、比較はレキシコグラフィック(字典順)で行われ、左側と右側のタプル/配列の各対応する要素を比較します。

比較可能な型は以下の通りです:

  • 数値および小数
  • 文字列および固定文字列
  • 日付
  • 日時
  • タプル(レキシコグラフィック比較)
  • 配列(レキシコグラフィック比較)
注記

文字列はバイト単位で比較されます。これは、一方の文字列がUTF-8エンコードされたマルチバイト文字を含んでいる場合、予期しない結果を引き起こす可能性があります。別の文字列S2を接頭辞として持つ文字列S1は、S2よりも長いと見なされます。

equals

導入日: v1.1

2つの値の等価性を比較します。

構文

equals(a, b)
        -- a = b
        -- a == b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

abと等しい場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 1 = 1, 1 = 2;
┌─equals(1, 1)─┬─equals(1, 2)─┐
│            1 │            0 │
└──────────────┴──────────────┘

greater

導入日: v1.1

2つの値の大なり関係を比較します。

構文

greater(a, b)
    -- a > b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

abより大きい場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 2 > 1, 1 > 2;
┌─greater(2, 1)─┬─greater(1, 2)─┐
│             1 │             0 │
└───────────────┴───────────────┘

greaterOrEquals

導入日: v1.1

2つの値の大なりイコール関係を比較します。

構文

greaterOrEquals(a, b)
    -- a >= b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

ab以上の場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 2 >= 1, 2 >= 2, 1 >= 2;
┌─greaterOrEquals(2, 1)─┬─greaterOrEquals(2, 2)─┬─greaterOrEquals(1, 2)─┐
│                     1 │                     1 │                     0 │
└───────────────────────┴───────────────────────┴───────────────────────┘

less

導入日: v1.1

2つの値の小なり関係を比較します。

構文

less(a, b)
    -- a < b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

abより小さい場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 1 < 2, 2 < 1;
┌─less(1, 2)─┬─less(2, 1)─┐
│          1 │          0 │
└────────────┴────────────┘

lessOrEquals

導入日: v1.1

2つの値の小なりイコール関係を比較します。

構文

lessOrEquals(a, b)
-- a <= b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

ab以下の場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 1 <= 2, 2 <= 2, 3 <= 2;
┌─lessOrEquals(1, 2)─┬─lessOrEquals(2, 2)─┬─lessOrEquals(3, 2)─┐
│                  1 │                  1 │                  0 │
└────────────────────┴────────────────────┴────────────────────┘

notEquals

導入日: v1.1

2つの値の不等価性を比較します。

構文

notEquals(a, b)
    -- a != b
    -- a <> b

引数

  • a — 最初の値。* - b — 2番目の値。*

返される値

abに等しくない場合は1を返し、そうでない場合は0を返します。 UInt8

使用例

SELECT 1 != 2, 1 != 1;
┌─notEquals(1, 2)─┬─notEquals(1, 1)─┐
│               1 │               0 │
└─────────────────┴─────────────────┘