Приведет ли сравнение значения с самим собой к сбою в предложении SQL WHERE

#sql

#sql

Вопрос:

Вопрос, если кто-то неправильно ввел сравнение в AND части предложения WHERE, чтобы в итоге сравнить значение с самим собой, выдаст ли это ошибку или оно просто завершится беззвучно? Я спрашиваю, потому что я наткнулся на предложение WHERE, которое включает следующую строку:

  WHERE ...
 AND (note_details.id_number = note_details.id_number)
  

Как это будет обработано?

Комментарии:

1. Есть ли какие-либо переменные, используемые в коде? Это помогло бы увидеть весь код, чтобы иметь возможность определить, было ли то, что вы видите, преднамеренным или по ошибке.

2. Я только что получил подтверждение от человека, который написал код, что это была опечатка.

Ответ №1:

Это сработало бы. Ошибки нет.

Логика:

 where x = x
  

эквивалентно:

 where x is not null
  

Комментарии:

1. Это то, что я подумал. Но есть ли законная причина для написания этого кода, или, скорее всего, это опечатка, которая должна была сравнивать значения из двух разных таблиц?

2. @Banon . , , я не могу придумать причину, по которой кто-то написал бы этот код. Иногда люди пишут что-то подобное, например coalesce(x, '') = x .

3. Да, спасибо, я связался с человеком, который изначально написал запрос, и они поняли, что добавили эту проверку по ошибке.