IS DISTINCT FROM
DSQL, PSQL.
<operand1> IS [NOT] DISTINCT FROM <operand2>
Два операнда считают DISTINCT (различными), если они имеют различные значения, или если одно из них — NULL
, а другое нет.Они считаются NOT DISTINCT (равными), если имеют одинаковые значения или оба имеют значение NULL
.
IS [NOT] DISTINCT FROM
всегда возвращает TRUE
или FALSE
и никогда UNKNOWN
(NULL) (неизвестное значение). Операторы ‘=
’ и ‘<>
’, наоборот, вернут UNKNOWN
(NULL), если один или оба операнда имеют значение NULL.
Характеристики операнда |
Результаты различных операторов |
|||
---|---|---|---|---|
|
|
|
|
|
Одинаковые значения |
|
|
|
|
Различные значения |
|
|
|
|
Оба |
|
|
|
|
Одно |
|
|
|
|
IS [NOT] DISTINCT FROM
SELECT ID, NAME, TEACHER
FROM COURSES
WHERE START_DAY IS NOT DISTINCT FROM END_DAY
IF (NEW.JOB IS DISTINCT FROM OLD.JOB) THEN
POST_EVENT 'JOB_CHANGED';