Компютри, Софтуер
Coalesce sql: описание, използване, примери
Когато компилирате SQL-Queries, често се случва, че когато избирате данни, трябва да сравните стойностите на няколко колони и да изведете един от тях, който съдържа данни (не празни). Този проблем е напълно решен от израза Коалес. В тази статия ще намерите пълно описание на изразът Coalesce sql, описание на характеристиките на употреба, както и примери.
Резултат на стойности, които не са нула, като се използва Coalesce. Удобства
Обмислете възможностите за използване на Sql Coalesce:
- Позволява да се посочи произволен брой аргументи (за разлика от Isnull / Nvl / Nvl2, броят на аргументите, в които е ограничен).
- Може да приеме подчинените като аргумент.
- Връща резултата равен на първата ненулева стойност или Null, ако не е намерена стойност.
- Sql Coalesce може да се използва в клаузата за избор, за да изберете празна стойност, а също и в Къде да посочите, че набор от колони с празни стойности не е разрешен (/ разрешен).
- Този израз е еквивалентен на прилагането на израза на случая, като всеки аргумент се проверява последователно за условието Когато argument1 не е null след това argument1. Всъщност, Coalesce е "пряк път", създаден за лесна употреба, и в много DBMS оптимизатори на заявки пренаписват Coalesce израз на Case.
- Характеристиките на Sql Coalesce се предлагат във всички водещи системи за управление на релационни бази данни.
Синтаксис Коалес
Всеки, който някога е използвал Coalesce, за да компилира SQL заявки, знае, че синтаксисът на този израз е много прост. Достатъчно е да посочите в скоби аргументи, които са отметнати в Null, разделени със запетаи. Ако приемем, че аргументите имат имената arg1, arg2, ... argN, тогава синтаксисът на Coalesce ще изглежда така:
Коалес (arg1, arg2, ... argN).
Ще подготвим няколко таблици за изучаване на механизма на този израз.
Подготовка на маси
За да разберем по-добре описанието на Coalesce sql, ще създадем в базата данни две таблици, съдържащи информация за обектите на недвижимите имоти.
Първата таблица на площта трябва да съдържа имената на обектите за недвижими имоти и тяхната площ. Областта може да бъде определена (area_yt) или обявена (area_decl).
идентификатор | object_name | area_yt | area_decl |
1 | Сграда 1 | 116,2 | 114 |
2 | Незавършена конструктивна цел 1 | 568 | |
3 | Стая 1 | 64.7 | |
4 | Стая 2 | 34.2 | |
5 | Парцел 1 | 112 | 111,6 |
6 | Устройство 1 | ||
7 | Стаи 3 | 27.9 | |
8 | Строителство 2 | 37.2 | 36.4 |
9 | Сграда 2 |
Втората основна характеристика таблица трябва да съдържа информация за основната характеристика на обекта за недвижимо имущество - Разширение, Дълбочина, Площ, Обхват, Височина.
идентификатор | object_name | разширение | дълбочина | област | обхват | височина |
1 | Сграда 1 | 892,4 | 30 | |||
2 | Сграда 2 | 48 | ||||
3 | Устройство 1 | 164,7 | ||||
4 | Парцел 1 | |||||
5 | Стая 1 | 23.6 | ||||
6 | Стая 2 | 34.7 | ||||
7 | Стаи 3 | 19.8 |
Разгледахме синтаксиса на Coalesce sql, описанието, характеристиките на употребата и пристъпихме директно към примерите.
Примери за използване
Синтаксисът на израза Coalesce е изключително прост, но е важно да запомните, че резултатът от командата ще бъде FIRST не празна стойност, намерена от списъка с аргументи. Тази забележка е много важна, така че аргументите в израза трябва да бъдат поставени в ред на важност. Най-лесният начин да разберете принципа на таблицата на района. Направете заявка, която избира името на имота, както и стойността на района:
SELECT Area.id, Area.object_name, обединяване (Area.area_yt, Area.area_decl) От района |
И да получите резултата:
идентификатор | object_name | сливам |
1 | Сграда 1 | 116,2 |
2 | Незавършена конструктивна цел 1 | 568 |
3 | Стая 1 | 64.7 |
4 | Стая 2 | 34.2 |
5 | Парцел 1 | 112 |
6 | Устройство 1 | |
7 | Стаи 3 | 27.9 |
8 | Строителство 2 | 37.2 |
9 | Сграда 2 |
За обектите "Сграда 1", "Парцел 1" и "Строеж 2" бяха попълнени двете стойности на района, но в приоритет бе рафинирана площта, тъй като първо я посочихме в списъка с аргументи. Израза "Coalesce" откри първата неприсната стойност и я оттегли, спирайки по-нататъшното разглеждане на аргументите. Това конструиране на искането е вярно, защото конкретната област е по-конкретна от декларираната. Ако посочим областта, обявена за първи аргумент, тогава ако това поле на таблицата е пълна, то ще бъде приоритетно.
В допълнение към използването в Select, много често изразът Coalesce се прилага с клаузата Where. Той ви позволява да изрежете от резултата линиите, в които списъкът с полета е празен (или обратно, включвайте само тези стойности във резултата, където списъкът с полета не е попълнен). Тази ситуация е навсякъде: например, по време на регистрирането на нов служител, в базата данни е въведена само основна информация за служителя, а подробната информация е оставена "за по-късно". Постепенно "пропуските" се променят - преди проверката или при изпращане на служителя на почивка / бизнес пътуване / отпуск по болест.
Изберете от таблицата основните характеристики на недвижимите имоти, които не запълват никоя от стойностите на характеристиките:
SELECT id, object_name От Basic_characteristic Където се обединява (разширение, дълбочина, площ, обхват, височина) е нула |
За тази заявка има едно съвпадение в таблицата - обект "Парцел 1", в който всички полета с характеристики са празни:
идентификатор | object_name |
4 | Парцел 1 |
Надяваме се, че нашето подробно описание на Coalesce sql ви помогна да разберете всички характеристики на използването на този израз, както и да се справите с важни нюанси.
Similar articles
Trending Now