muzruno.com

Coalesce sql: описание, използване, примери

Когато компилирате SQL-Queries, често се случва, че когато избирате данни, трябва да сравнявате стойностите на няколко колони и да изведете един от тях, който съдържа данни (не празни). Този проблем е напълно разрешен от израза "Коалес". В тази статия ще намерите пълно описание на израза Coalesce sql, описание на характеристиките на употребата, както и примери.

Съвместно описание на sql

Изход на стойности, които не са нула, използвайки Coalesce. Удобства

Помислете за характеристиките на Sql Coalesce:

  1. Придава указание за произволен брой аргументи (за разлика от Isnull / Nvl / Nvl2, броят на аргументите, в които е ограничен).
  2. Може да приеме подчинените като аргумент.
  3. Връща резултата равен на първата различна от Null или Null, ако не е намерена стойност, различна от Null.
  4. Sql Coalesce може да се използва в клаузата за избор, за да изберете празна стойност, а също и в Къде да укажете, че набор от колони с празни стойности не е разрешен (/ разрешен).
  5. Този израз е еквивалентен на използването на израза на казуса, който проверява последователно всеки аргумент за условието Когато argument1 не е null след това argument1. Всъщност, Coalesce е "пряк път", предназначен за лесна употреба, а в много оптимизатори на заявки за DBMS пренаписва израза Coalesce на Case.
  6. Sql Coalesce функциите са достъпни във всички водещи релационни системи за управление на бази данни.

sql се сливат

Синтаксис Коалес

Всеки, който някога е използвал Coalesce, за да компилира SQL-Queries, знае, че синтаксисът на този израз е изключително прост. Достатъчно е да посочите в скоби аргументи, проверени на Null, разделени със запетаи. Ако приемем, че аргументите имат имената arg1, arg2, hellip-argN, тогава коалесовия синтаксис ще изглежда така:

Коалес (arg1, arg2, hellip- argN).

SQL функции за обединяване

Нека подготвим няколко таблици за изучаване на механизма на този израз.

Подготовка на маси

За да разберем по-добре описанието на 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

Втората таблица Basic_characteristic let съдържа информация за основните характеристики на свойството - Extension, Depth, Area, Scope, Height.

идентификатор

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" бяха попълнени двете стойности на района, но в приоритет бе рафинирана площта, тъй като първо я посочихме в списъка с аргументи. Изразът "Коалес" намери първата не празна стойност и я изведе, спирайки по-нататъшното преглеждане на аргументите. Това конструиране на заявката е правилно, защото определената област е по-специфична от декларираната. Ако посочим областта, обявена за първи аргумент, тогава ако това поле на таблицата е пълна, то ще бъде приоритетно.

В допълнение към използването в Select, много често изразът Coalesce се прилага с клаузата Where. Той ви позволява да изрежете от резултата онези редове, в които списъкът с полета е празен (или обратно, включете само тези стойности във резултата, където списъкът с полета не е попълнен). Тази ситуация е навсякъде: например, по време на регистрирането на нов служител, в базата данни е въведена само основна информация за служителя, а подробната информация е оставена "за по-късно". Постепенно "пропуските" се издигат - преди проверката или при изпращане на служителя на почивка / бизнес пътуване / отпуск по болест.

Изберете от таблицата основните характеристики на обектите за недвижими имоти, които нямат нито една от стойностите на характеристиките:

SELECT id, object_name

От Basic_characteristic

Където се обединява (разширение, дълбочина, площ, обхват, височина) е нула

За тази заявка има едно съвпадение в таблицата - обект "Парцел 1", в който всички полета с характеристики са празни:

идентификатор

object_name

4

Парцел 1

sql обединява функциите на използване

Надяваме се, че подробното описание на Coalesce sql ви помогна да разберете всички характеристики на използването на този израз, както и да се справите с важни нюанси.

Споделяне в социалните мрежи:

сроден