HomeMogDBMogDB StackUqbar
v5.0

Documentation:v5.0

Supported Versions:

Other Versions:

Logical Operators

Compared with the original MogDB, Dolphin has two new logical operators:

  1. The && operator is added.
  2. The || operator is added.
  • &&

    Description: When b_compatibility_mode is set to TRUE, it indicates the logical AND operation. The supported types include Boolean, time, date, integer, floating point, and bit string. The truth table is as follows:

    a b Result of a && b
    TRUE TRUE TRUE
    TRUE FALSE FALSE
    TRUE NULL NULL
    FLASE FALSE FALSE
    FALSE NULL FALSE
    NULL NULL NULL

    The following table describes the processing of different input types.

    Data Type Processing Method
    Boolean The logical AND operation is performed according to the truth table.
    Integer Only the zero value is converted to Boolean false, and other values are converted to Boolean true. Then, the logical AND operation is performed.
    Floating point Only zero is converted to Boolean false, and other values are converted to Boolean true. Then, the logical AND operation is performed.
    Bit string Only the all-0 value is converted to Boolean false, and other values are converted to Boolean true. Then, the logical AND operation is performed.
    Time The conversion mode of the time type depends only on the hour part. When '00:xx:xx' is entered, the time type is converted to Boolean false. When 'yy:xx:xx' is entered, if yy is not 0, the time type is converted to Boolean true. Then, the logical AND operation is performed.
    Date The conversion mode of the date type depends only on the year part. When '0000-xx-xx' is entered, the date type is converted to Boolean false. When 'yyyy-xx-xx' is entered, if yy is not 0, the date type is converted to Boolean true. Then, the logical AND operation is performed.

    Return type: Boolean

    Example:

    MogDB=# SELECT 1 && 1;
    ?column?
    ----------
           t
    (1 row)
  • ||

    Description: When sql_mode is not set to 'pipes_as_concat', it indicates a logical OR operation. The supported types include Boolean, time, date, integer, floating point, and bit string. The truth table is as follows:

    a b Result of a || b
    TRUE TRUE TRUE
    TRUE FALSE TRUE
    TRUE NULL TRUE
    FLASE FALSE FALSE
    FALSE NULL NULL
    NULL NULL NULL

    The following table describes the processing of different input types.

    Data Type Processing Method
    Boolean The logical OR operation is performed according to the truth table.
    Integer Only the zero value is converted to Boolean false, and other values are converted to Boolean true. Then, the logical OR operation is performed.
    Floating point Only the zero value is converted to Boolean false, and other values are converted to Boolean true. Then, the logical OR operation is performed.
    Bit string Only the all-0 value is converted to Boolean false, and other values are converted to Boolean true. Then, the logical OR operation is performed.
    Time The conversion mode of the time type depends only on the hour part. When '00:xx:xx' is entered, the time type is converted to Boolean false. When 'yy:xx:xx' is entered, if yy is not 0, the time type is converted to Boolean true. Then, the logical OR operation is performed.
    Date The conversion mode of the date type depends only on the year part. When '0000-xx-xx' is entered, the date type is converted to Boolean false. When 'yyyy-xx-xx' is entered, if yy is not 0, the date type is converted to Boolean true. Then, the logical OR operation is performed.

    Return type: Boolean

    Example:

    MogDB=# SELECT 0 || 0;
    ?column?
    ----------
           f
    (1 row)
Copyright © 2011-2024 www.enmotech.com All rights reserved.