ISNULL Функція SQL у операторах Case

У цьому блозі ми обговоримо оператор CASE , який можна використовувати для обробки кількох логічних операцій. Ми також обговоримо функцію ISNULL SQL, яка дозволить вам повертати значення заміни, якщо є вирази, які мають значення NULL .

Оператор CASE та функція ISNULL дуже корисні в роботі з кодами, які потребують багатьох логічних операцій, а також для швидкої заміни фіксованих чи заданих значень у вираз.

Оператор CASE в SQL схожий на використання оператора IF ELSE . Проте, швидше за все, він схожий на оператор SWITCH , який ми використовуємо в DAX . З іншого боку, функція ISNULL призначена для заміни значення NULL на певне значення, яке ви хочете використовувати.

Зміст

Використання оператора CASE в SQL

Припустімо, що у нас є стовпці ProductName і Sales Amount .

ISNULL Функція SQL у операторах Case

Потім ми хочемо створити додатковий стовпець під назвою Description .

ISNULL Функція SQL у операторах Case

Ми також хочемо додати логічні твердження, які відображатимуть « Дешево », якщо сума ��родажів менше або дорівнює 5 , а потім « Не так дешево » від 6 до 100 . Якщо значення більше за сто, відображатиметься « Дорого ».

ISNULL Функція SQL у операторах Case

У цьому прикладі ми використали оператор SELECT , щоб вибрати стовпець, який ми хочемо переглянути. Після цього у нас є оператор CASE , який містить логічні операції, про які ми згадували раніше.

Під час використання оператора CASE оператори WHEN і THEN завжди використовуються для вказівки логічних операцій, які ми хочемо реалізувати у вибраному стовпці. Оператор ELSE призначений для встановлення значення за замовчуванням, якщо набір логічних операцій не виконано.

У кінці оператора CASE ми маємо END AS і назву стовпця поруч із ним. Це створить новий стовпець під назвою Опис зі значеннями на основі логічних операцій, які ми додали в операторі CASE .

Використання функції ISNULL SQL

Функція ISNULL призначена для перевірки наявності у вибраному стовпці значень NULL і заміни їх на будь-яке вказане значення. Тепер візуалізуємо, що у нас є наступні стовпці зі значеннями NULL .

ISNULL Функція SQL у операторах Case

У наведеному вище прикладі всі значення NULL замінено значеннями « Невідомо ». Для створення цього прикладу використовуються наступні рядки коду.

ISNULL Функція SQL у операторах Case

Використовуючи функцію ISNULL SQL, вам слід почати з вибору стовпця MiddleName за допомогою оператора SELECT .

Після цього вам слід скористатися функцією ISNULL , щоб перевірити стовпець MiddleName , указаний у дужках, і замінити будь-яке значення NULL у ньому на значення « Невідоме ».

Функція AS призначена для створення нового стовпця, який у цьому випадку є MiddleName_New .

Зверніть увагу, що функція ISNULL замінить значення NULL , лише якщо певне значення не дорівнює NULL . Тоді він поверне те саме значення зі стовпця, яке ви вказали у функції ISNULL .

Далі я використаю оператор CASE та функції ISNULL у SSMS , щоб ви побачили, як це насправді працює. 

Оператор CASE в SSMS

Почнемо з вибору стовпця FirstName у Person.Person . Зверніть увагу, що в цьому прикладі немає необхідності вибирати стовпець. Це лише для довідки.

ISNULL Функція SQL у операторах Case

Відкривши цей стовпець, давайте створимо стовпець, який відображатиме значення незалежно від того, ім’я Кім чи ні, за допомогою оператора CASE . Для цього просто дотримуйтесь прикладу нижче.

ISNULL Функція SQL у операторах Case

У наведеному вище прикладі коду ми додали умову за допомогою оператора CASE , згідно з якою, якщо FirstName дорівнює « Kim », відображатиметься « Yes », ​​а якщо ні, замість цього відображатиметься « No ».

Для цього прикладу я також створив новий стовпець під назвою « IsKim » за допомогою функції END AS . Результат див. у прикладі нижче.

ISNULL Функція SQL у операторах Case

Тепер давайте розглянемо інший приклад використання оператора CASE із застосуванням деяких умов до стовпця TaxAmt із таблиці Sales.SalesOrderHeader .

По-перше, давайте перенесемо перші 100 стовпців із Sales.SalesOrderHeader за допомогою наступного рядка коду та знайдіть стовпець TaxAmt .

ISNULL Функція SQL у операторах Case

Після цього почнемо застосовувати умови для стовпця TaxAmt за допомогою оператора CASE , використовуючи наведений нижче приклад.

ISNULL Функція SQL у операторах Case

Подібно до попереднього прикладу, ми почали з вибору стовпця, до якого хочемо застосувати умови – у цьому випадку це стовпець TaxAmt .

Потім у операторі CASE ми додали умови, згідно з якими, якщо TaxAmt менше або дорівнює 500, відображатиметься значення « Ідеально ». Якщо TaxAmt менше або дорівнює 2000 , тоді буде відображено значення « Добре ».

Крім того, якщо умови не виконано, буде відображено значення « Не добре » . Наприкінці заяви я створив новий стовпець під назвою TaxClass .

ISNULL Функція SQL у операторах Case

Ось як ми використовуємо оператор CASE в SQL . Зверніть увагу, що ви можете встановити скільки завгодно умов. Просто переконайтеся, що використовуєте оператори WHEN і THEN , а також функцію END AS , щоб створити новий стовпець, у якому відображатимуться результати.

Функція ISNULL SQL у SSMS

У цьому прикладі я збираюся використовувати ту саму таблицю з попереднього прикладу. Тоді я продемонструю, як можна використовувати цю функцію для заміни NULL значень у стовпці CurrencyRateID

ISNULL Функція SQL у операторах Case

Після вибору таблиці з наведеного вище прикладу ми можемо побачити значення NULL у стовпці CurrencyRateID . Тепер я хочу замінити ці значення NULL на « 1 ». Для цього зверніться до прикладу нижче.

ISNULL Функція SQL у операторах Case

Щоб змінити значення NULL у певному стовпці, спочатку нам потрібно вибрати стовпець, який має значення NULL. У цьому випадку це CurrencyRateID . Потім ми скористаємося функцією ISNULL і виберемо стовпець, який буде перевірятися функцією ISNULL , тобто CurrencyRateID .

Нам також потрібно оголосити значення заміни, яке ми хочемо використати – у цьому прикладі я використав « 1 ». Нарешті, ми додамо функцію AS , щоб створити новий стовпець під назвою NewRate .

У результаті всі значення NULL були замінені на « 1 » у стовпці NewRate , а ті, які не мали значення NULL , залишилися незмінними. Крім того, ви також можете змінити значення NULL за допомогою стовпця. Ви можете зробити це, дотримуючись прикладу нижче.

ISNULL Функція SQL у операторах Case

Використовуючи той самий синтаксис із попереднього прикладу, ми просто додали SalesOrderID поруч із CurrencyRateID як наше посилання перед функцією ISNULL . Потім ми змінили значення заміни на SalesOrderID . Цей оператор просто перевірить значення NULL у CurrencyRateID і замінить їх значеннями зі стовпця SalesOrderID .

Висновок

Підсумовуючи, ви навчилися використовувати оператор CASE та функцію ISNULL разом із належним синтаксисом у SQL . Ви також дізналися, що в оператор CASE можна додати скільки завгодно логічних умов. Зверніть увагу, що оператор CASE схожий на оператор SWITCH або IF ELSE .

Крім функції ISNULL , ви дізналися, що існують різні способи заміни значення NULL у використанні цієї функції, тобто за допомогою використання фіксованого значення або стовпця.

Все найкраще,

Хафіз






Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.