Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сравнение полей с учётом NULL и не только
|
|||
|---|---|---|---|
|
#18+
Нашёл способы сравнения довольно простые, на мой взгляд, может кому интересно. Если у кого то есть более красивый способ, было бы интересно узнать. Сравнение двух ID полей (INT NULLABLE) Возвращает 'Y', если поля идентичны (либо по значению ID, либо оба NULL). Главное условие это то, что значение "-1" в VALUE должно быть одинаковое и быть уникальным, т.е. EXTID1 и EXTID2 не могут иметь значение -1 в таблице. Код: plaintext 1. 2. 3. 4. Еще потребовалось отлавливать изменение двух полей в триггере: Поля F1 и F2 рассматриваются вместе и если хотя бы одно из них 'Y', то суммарный флаг = 'Y', в противном случае 'N'. В триггере требовалось отловить изменение суммарного флага . Сравнение основано на том, что если оба флага 'N', то только в этом случае суммарный флаг = 'N'. Дополнительное условие, F1 и F2 не могут иметь значение NULL (NOT NULL поля). (мутно наверное объяснил, может пример поможет): Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 10:46 |
|
||
|
Сравнение полей с учётом NULL и не только
|
|||
|---|---|---|---|
|
#18+
Тоже есть вопрос по этой теме. Раньше везде в WHERE использовали Код: plaintext Код: plaintext --------------------------------------------------------- IS NULL OR NOT IS NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2009, 09:00 |
|
||
|
Сравнение полей с учётом NULL и не только
|
|||
|---|---|---|---|
|
#18+
BuryCommoner, Вариант с VALUE получается медленней, что на индексированных, что на неиндексированных полях. Смотрел в DbVisualizer. Реально - не мерял. Хотя я предполагал, что "OR" - сильней тормозить будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2009, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=36151625&tid=1603121]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 172ms |

| 0 / 0 |
