Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 15127|Відповідь: 0

[Джерело] Використання IFNULL, NULLIF та ISNULL

[Копіювати посилання]
Опубліковано 11.05.2018 13:37:59 | | |
Використання isnull, ifnull, nullif виглядає так:

Використання isnull(expr):Якщо expr дорівнює нулю, то isnull() повертає значення 1, інакше — 0.
mysql> вибрати isnull(1+1);
-> 0
mysql> вибрати Isnull(1/0);
-> 1
Використовувати = для порівняння нульових значень зазвичай неправильно.

Функція isnull() має деякі з тих самих характеристик, що й оператор нульового порівняння. Дивіться примітку про null.

Використання IFNULL(expr1,expr2):

Якщо expr1 не дорівнює NULL, повернене значення IFNULL() дорівнює expr1;
Інакше повертається значення expr2. IFNULL() повертає або число, або рядок, залежно від контексту, в якому він використовується.

mysql> ВИБРАТИ IFNULL(1,0);
-> 1
mysql> ВИБРАТИ IFNULL(NULL,10);
-> 10
mysql> ВИБРАТИ IFNULL(1/0,10);
-> 10
mysql> SELECT
IFNULL(1/0, «так»);

-> «так»

Значення результату за замовчуванням для IFNULL(expr1,expr2) є більш «загальним» із двох виразів, у порядку STRING, REAL або
INTEGER。 Припустимо, ситуація, коли таблиця на основі виразів або MySQL повинна зберігати повернене значення IFNULL() у тимчасовій таблиці внутрішньої пам'яті:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
У цьому прикладі тестовий стовпець має тип CHAR(4).
Використання NULLIF(expr1,expr2):  
Якщо expr1
= expr2 істинне, тоді повернене значення дорівнює NULL, інакше повернене значення — expr1. Це те саме, що CASE WHEN expr1 = expr2
ТОДІ NULL ELSE expr1 END той самий.
mysql> SELECT
NULLIF (1,1);

-> NULL
mysql> ВИБРАТИ NULLIF(1,2);
-> 1
Якщо параметри не однакові, MySQL отримує значення expr1 двічі.






Попередній:Тест апаратної продуктивності серверного процесора
Наступний:При використанні MySQL для обробки понад мільйона рівнів даних існує кілька здорових глуздів, які потрібно знати
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com