Я получил разные результаты, когда повторил утверждение WHERE (по ошибке).
Сегодня я пытался посмотреть, сколько раз в нашей системе появлялись ошибки. Я получил странные результаты, когда повторил одно и то же утверждение WHERE по ошибке. Я сначала искал код ошибки 635 и получил 140 возвратов. Поэтому я попытался найти два разных кода ошибки, но неправильно набрал второй рассматриваемый код с тем же номером, что и в первом операторе WHERE, 635, и мне было возвращено 1058 строк.
Мне любопытно, почему 1058 строк не возвращались, когда у меня был только один оператор WHERE. Я даже экспериментировал и повторял инструкцию WHERE еще три раза (всего четыре), но количество возвращаемых строк оставалось постоянным на уровне 1058.
Сначала я запустил это и вернул 140 строк ...
SELECT *
FROM ErrTbl
WHERE status = 'unresolved'
AND ErrCd = '635'
Тогда я хотел запустить это ...
SELECT *
FROM ErrTbl
WHERE status = 'unresolved'
AND ErrCd = '635'
OR ErrCd = '735'
Но я случайно запустил это и вернул 1058 строк ...
SELECT *
FROM ErrTbl
WHERE status = 'unresolved'
AND ErrCd = '635'
OR ErrCd = '635'
Если бы я случайно повторил одно и то же утверждение WHERE, я бы ожидал, что возвращаемые строки будут одинаковыми, в данном случае 140. На самом деле, если посмотреть на возвращаемые значения, это должно было быть 1058 для каждого случая.
Я не уверен, почему разница.