SQLShack (Čeština)

Tento článek zkoumá manipulaci s řetězci pomocí SQL Splývají funkce v SQL Server.

manipulace s řetězci je proces generování jiné formy existujících dat způsobem, který podnik používá nebo zobrazuje jako výsledky ve zprávách. Předchozí články SQL string funkce, jsem napsal, včetně SQL řetězcové funkce pro data Munging a SQL Funkce Substring přehled diskutované přípravy dat a úlohy správy dat pomocí vestavěných funkcí řetězce SQL Server.,

SQL server má také některé vestavěné znakové funkce, které nám také umožňují manipulovat a transformovat data. Současně je důležité prozkoumat datový soubor, prozkoumat datové hodnoty a podle potřeby kódovat nebo dekódovat hodnoty pro generování smysluplných dat. Je důležité vědět, jak se orientovat přes chybějící hodnoty v našich datových souborů, porozumění dopad na výpočty, dotazy, zprávy a data-set příprava a přichází s techniky, aby se zabránilo nechat Null hodnoty zničit naše resultsets.

co je nulová hodnota?,

než se ponoříme do toho, jak navigovat potenciální minové pole datových sad s chybějícími hodnotami a vyhnout se šlápnutí na Null, pojďme se nejprve rychle podívat na to, co je NULL.

Jak je definováno Wikipedií

Null (nebo NULL) je speciální značka používaná ve strukturovaném jazyce dotazu k označení, že v databázi neexistuje datová hodnota. Představil tvůrce relačního databázového modelu, E. F., Codd, SQL Null slouží ke splnění požadavku, že všechna pravda relačních databázových systémů (RDBMS) podpora reprezentace „chybějící informace a nepoužitelné informace“. Codd také představil použití malého řeckého symbolu omega (ω), který reprezentuje Null v teorii databáze. V SQL je NULL vyhrazené slovo používané k identifikaci této značky. … To by nemělo být zaměňováno s hodnotou 0. Nulová hodnota označuje nedostatek hodnoty-nedostatek hodnoty není totéž jako hodnota nuly stejným způsobem, že nedostatek odpovědi není totéž jako Odpověď „Ne“.,

dále …

SQL null je stav, nikoli hodnota. Toto použití je zcela odlišné od většiny programovacích jazyků, kde nulová hodnota odkazu znamená, že neukazuje na žádný objekt.

SQL poskytuje některé užitečné funkce pro práci s vaší postavy dat v vaše SQL dotazy, které se budeme podrobně popsat,

SQL Coalesce

SQL Coalesce a funkce IsNull jsou použity pro zpracování hodnot NULL. Během procesu vyhodnocování výrazů jsou nulové hodnoty nahrazeny uživatelem definovanou hodnotou.,

funkce SQL Coalesce vyhodnocuje argumenty v pořadí a vždy vrací první hodnotu bez null ze seznamu definovaných argumentů.

Syntax

COALESCE ( výraz )

Vlastnosti SQL Coalesce

  1. Výrazy musí být stejného typu dat
  2. může obsahovat více výrazů
  3. SQL Coalesce je syntaktická zkratka pro Případ projevu
  4. Vždy vyhodnocuje na celé číslo jako první, celé číslo, následuje znak výraz výnosy celé číslo jako výstup.,

Příklady:

SQL Splývají v zřetězení operace

V následujícím příkladu budeme zřetězit některé hodnoty. Ale opět je to jen recenze, abyste věděli, co se stane, když máme nulovou hodnotu. Takže pojďme do toho a spustíme T-SQL. A vidíme, že při zpracování operace zřetězení řetězce narazíme na nulovou hodnotu. SQL server jednoduše vrátí NULL, kdykoli narazí na hodnotu NULL. Výsledkem Není kombinace křestního jména, null a příjmení.,

1
SELECT firstName +‘ ‚+MiddleName+‘ ‚+ LastName FullName FROM Person.Person

Let us handle the NULL values using a function called SQL COALESCE. It allows handling the behavior of the NULL value., Takže v tomto případě použijte funkci coalesce SQL k nahrazení všech hodnot NULL středního jména hodnotou “ (Char (13) – space). Příkaz SQL by měl stále zřetězit všechna tři jména, ale ve výstupu se nezobrazí žádné hodnoty NULL. Nyní vidíme, že celé jméno se zobrazí s mezerou uprostřed, pro nulové hodnoty. Tímto způsobem je možné efektivně přizpůsobit hodnoty sloupců.,

1
VYBERTE jméno +‘ ‚+COALESCE(MiddleName,“) +‘ ‚+ LastName FROM Person.Osoba

SQL Coalesce a otočná

následující příklad vrátí spojený non-null hodnot z tabulky „stát“. V některých případech může být nutné přiřadit zřetězené statické hodnoty proměnné., V tomto případě jsou hodnoty městského sloupce analyzovány pomocí funkce Coalesce SQL a zřetězeny v rámci jedné citace pro přípravu řetězce hodnot. Výstup je pak dále manipulován, aby se odstranil poslední znak, aby se načetl platný řetězec vstupní hodnoty.,

Output:

1
SELECT ‚(‚+substring(@col,1,len(@col)-1)+‘)‘

Scalar user-defined function and SQL Coalesce function

A user-defined function is created to return a string specific to the provided input and then the output is grouped using a grouping clause., V následujícím příkladu funkce skalární hodnoty vrací zřetězené hodnoty řetězců oddělené‘, ‚pro zadaný vstup „Město“. Následující příklad vrací výstup, kde je státní sloupec seskupen a jeho hodnoty měst jsou zřetězeny a odděleny oddělovačem“, “ (čárka). Můžete také použít STRING_AGG, pokud používáte SQL Server 2017. Více informací naleznete v článku Top SQL string functions in SQL Server 2017

zde je název funkce dbo.tfn_coalesceconcat v příkazu select.,

The output is a concatenated stream of values separated by a delimiter ‘,’

1
2
3
4

SELECT state, city = dbo.tfn_CoalesceConcat(state)
FROM dbo.,stát
GROUP BY
OBJEDNÁVKY státu;

ověření Dat pomocí SQL Coalesce

V následujícím příkladu, najdeme nouzové kontakty na zaměstnance. Obvykle jsou v každé organizaci telefonní čísla zaměstnance uvedena pod sloupci práce, domov, mobilní telefon.

podívejme se, jak najít zaměstnance, kde nejsou uvedeny žádné nouzové kontakty, nebo jinými slovy, vytáhneme všechny podrobnosti o zaměstnanci s nouzovými kontakty.,

v následujícím příkladu tb_emergencycontact obsahuje kontaktní čísla všech zaměstnanců.

funkce SQL Coalesce slouží k výběru sloupců homephone, workphone a mobil. V případě nulových hodnot se vrátí hodnota „NA“(neplatí), doslovný řetězec.

SQL Splývají a vypočítaného sloupce

následující příklad používá SQL SPLÝVAJÍ porovnat hodnoty hourlywage, plat, a komise sloupce a vrátí pouze hodnotu null našel ve sloupcích.,

následující T-SQL se používá k seznamu celkem mzdy vyplacené všem zaměstnancům

Nyní, podívejme se na příklad, jak vytvořit vypočítaný sloupec s SQL Splývají funkce v SQL Server.

obecně platí, že budeme muset použít výraz v tabulkách. V tabulkách je nutné vypočítat hodnoty, které se často počítají pomocí několika existujících sloupců a s několika skalárními hodnotami tabulky. Také tyto sloupce jsou závislé na jednom nebo více dalších sloupcích., Tímto způsobem můžeme vytvořit vypočítaný sloupec pomocí funkce Coalesce SQL tak, aby byly efektivně zpracovány nulové hodnoty.

nyní můžete vidět, že jednoduchý příkaz SELECT zobrazuje předem vypočtené výsledky.

SQL COALESCE a CASE expression

funkce SQL COALESCE může být syntakticky reprezentována pomocí výrazu CASE. Například, jak víme, funkce Coalesce vrací první hodnoty bez NULL.,

SELECT COALESCE (výraz1, výraz2, expression3) OD NÁZEV_TABULKY;

výše uvedené Splývají SQL může být přepsána pomocí příkazu CASE.,id=“6df95ef3dd“>

1
2
3
4
5
6
7
8
9
10
11
12
VYBRAT
firstname+“+lastname fullname,
vztah,
, KDYŽ domácnosttelefon NENÍ NULL, Pak domácnosttelefon
, KDYŽ mobil NENÍ NULL, Pak mobil
, KDYŽ workphone NENÍ NULL, Pak workphone
“ NA “
INDIE
EmergencyContactNumber
dbx.,tb_EmergencyContact

dotaz vrátí stejný výsledek jako ten, který používá COALESCE.

Wrap

V tomto článku jsme diskutovali o nějaký tip a triky k prokázání použití SQL Coalesce dotaz efektivně s T-SQL. Diskutovali jsme také o různých případech použití funkce SQL Coalesce. Je také možné optimalizovat výstup vytvořením vypočítaného sloupce.

doufám, že se vám tento článek líbil na funkci Coalesce v SQL Serveru., Neváhejte se zeptat na jakékoli dotazy v komentářích níže.

  • Autora
  • Poslední Příspěvky
Jsem Databáze technolog mít 11+ let bohaté, praktické zkušenosti na Databázové technologie. Jsem Microsoft Certified Professional a podporován titulem Master of Computer Application.
Moje specializace spočívá v navrhování & prováděcí Vysokou dostupnost řešení a cross-platform DB Migrace., Technologie, na kterých v současné době pracují, jsou SQL Server, PowerShell, Oracle a MongoDB.,
Zobrazit všechny příspěvky od Prashanth Jayaram

Nejnovější příspěvky Prashanth Jayaram (zobrazit všechny)
  • rychlý přehled z databáze auditu v SQL – 28. ledna 2021
  • Jak nastavit Azure Synchronizace Dat mezi SQL Azure databází a on-premises serveru SQL Server – 20. ledna 2021
  • Jak provést SQL Azure databáze Import/Export operace pomocí PowerShell – 14. ledna 2021

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *