SQLShack (Italiano)

Questo articolo esplora la manipolazione delle stringhe utilizzando la funzione SQL Coalesce in SQL Server.

La manipolazione delle stringhe è un processo per generare un’altra forma di dati esistenti in un modo che l’azienda utilizza o visualizzato come risultati nei report. Precedente SQL string function articoli, ho scritto, comprese le funzioni di stringa SQL per i dati Munging e SQL sottostringa funzione panoramica discusso preparazione dei dati e le attività di gestione dei dati utilizzando built-in funzioni di stringa di SQL Server.,

SQL server ha anche alcune funzioni di carattere incorporate che ci permettono anche di manipolare e trasformare i dati. Allo stesso tempo, è importante esaminare il set di dati, esplorare i valori dei dati e codificare o decodificare i valori, se necessario, per generare dati significativi. È importante sapere come navigare tra i valori mancanti nei nostri set di dati, comprendere l’impatto su calcoli, query, report e preparazione dei set di dati e elaborare tecniche per evitare che i valori Nulli rovinino i nostri set di risultati.

Che cos’è un valore NULL?,

Prima di approfondire come navigare nel potenziale campo minato dei set di dati con valori mancanti ed evitare di calpestare un Null, diamo prima una rapida occhiata a cosa sia un NULL.

Come definito da Wikipedia

Null (o NULL) è un marcatore speciale utilizzato nel linguaggio di query strutturato per indicare che un valore di dati non esiste nel database. Introdotto dal creatore del modello di database relazionale, E. F., Codd, SQL Null serve a soddisfare il requisito che tutti i veri sistemi di gestione di database relazionali (RDBMS) supportano una rappresentazione di “informazioni mancanti e informazioni inapplicabili”. Codd introdusse anche l’uso del simbolo omega (ω) greco minuscolo per rappresentare Null nella teoria dei database. In SQL, NULL è una parola riservata utilizzata per identificare questo marcatore. … Questo non deve essere confuso con un valore di 0. Un valore null indica una mancanza di un valore — una mancanza di un valore non è la stessa cosa di un valore di zero nello stesso modo in cui una mancanza di una risposta non è la stessa cosa di una risposta di “no”.,

Inoltre SQL

SQL null è uno stato, non un valore. Questo utilizzo è molto diverso dalla maggior parte dei linguaggi di programmazione, dove il valore null di un riferimento significa che non punta a nessun oggetto.

SQL fornisce alcune utili funzionalità per lavorare con i dati dei caratteri nelle query SQL che descriveremo in dettaglio

SQL Coalesce function

Le funzioni SQL Coalesce e IsNull vengono utilizzate per gestire valori NULL. Durante il processo di valutazione delle espressioni i valori NULL vengono sostituiti con il valore definito dall’utente.,

La funzione Coalesce SQL valuta gli argomenti in ordine e restituisce sempre il primo valore non nullo dall’elenco degli argomenti definito.

la Sintassi

COALESCE ( espressione )

Proprietà di SQL funzione Coalesce

  1. le Espressioni devono essere dello stesso tipo di dati
  2. può contenere molteplici espressioni
  3. SQL funzione Coalesce è una scorciatoia sintattica per Caso l’espressione
  4. restituisce Sempre un numero intero primo, un intero seguito da un carattere di espressione rendimenti intero di uscita.,

Esempi:

SQL si fonde in un’operazione di concatenazione di stringhe

Nell’esempio seguente, stiamo andando a concatenare alcuni valori. Ma, ancora una volta, è solo una recensione per farti sapere cosa succede quando abbiamo un valore NULLO. Quindi, andiamo avanti ed eseguiamo il T-SQL. E possiamo vedere che incontriamo un valore NULLO durante l’elaborazione dell’operazione di concatenazione delle stringhe. SQL server restituisce semplicemente NULL ogni volta che incontra il valore NULL. Il risultato non è una combinazione di nome, null e cognome.,

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., Quindi, in questo caso, usa la funzione coalesce SQL per sostituire qualsiasi valore NULL del secondo nome con un valore ‘ ‘(Char (13)-space). L’istruzione SQL dovrebbe comunque concatenare tutti e tre i nomi, ma nessun valore NULL verrà visualizzato nell’output. Ora vediamo che il nome completo viene visualizzato con uno spazio nel mezzo, per i valori NULL. In questo modo, è possibile personalizzare in modo efficiente i valori delle colonne.,

1
SELEZIONARE il nome +’ ‘+COALESCE(MiddleName”) +’ ‘+ Cognome FROM Persona.Person

SQL Coalesce function and pivoting

Il seguente esempio restituisce i valori non null concatenati dalla tabella ‘state’. In alcuni casi, potrebbe essere necessario assegnare i valori statici concatenati a una variabile., In questo caso, i valori della colonna city vengono analizzati utilizzando la funzione Coalesce SQL e concatenati all’interno di una singola citazione per preparare una stringa di valori. L’output viene quindi ulteriormente manipolato per rimuovere l’ultimo carattere per recuperare una stringa valida di valore di input.,

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., Nell’esempio seguente, la funzione valore scalare restituisce i valori di stringa concatenati separati da’, ‘per un input’ City ‘ specificato. L’esempio seguente restituisce un output in cui la colonna di stato è raggruppata e i suoi valori di città sono concatenati e separati da un delimitatore ‘,’ (virgola). Puoi anche usare STRING_AGG se stai usando SQL Server 2017. Puoi fare riferimento a ulteriori informazioni con l’articolo Top SQL string functions in SQL Server 2017

Ecco come chiamiamo il nome della funzione dbo.tfn_CoalesceConcat nell’istruzione 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.,stato
RAGGRUPPA PER stato
ORDINA PER stato;

Convalida dei dati utilizzando la funzione SQL Coalesce

Nel seguente esempio, ci accingiamo a trovare i contatti dei dipendenti di emergenza. Di solito, in qualsiasi organizzazione, i numeri di telefono del dipendente sono elencati sotto colonne di lavoro, casa, cellulare.

Vediamo come trovare i dipendenti in cui non sono elencati i contatti di emergenza o, in altre parole, tiriamo tutti i dettagli del dipendente con i contatti di emergenza.,

Nell’esempio seguente, tb_EmergencyContact contiene i numeri di contatto di tutti i dipendenti.

La funzione SQL Coalesce viene utilizzata per selezionare le colonne homephone, workphone e cellphone. In caso di valori NULL, il valore ‘NA’ (non applicabile), viene restituita una stringa letterale.

SQL Coalesce e colonne calcolate

Il seguente esempio utilizza SQL COALESCE per confrontare i valori delle colonne hourlywage, salary e commission e restituire solo il valore non nullo trovato nelle colonne.,

Il seguente T-SQL è utilizzato per visualizzare il totale del salario corrisposto a tutti i dipendenti

Ora, vediamo un esempio per creare una colonna calcolata con SQL funzione Coalesce in SQL Server

In generale, potrebbe essere necessario utilizzare l’espressione nelle tabelle. Nelle tabelle, è necessario calcolare i valori che vengono spesso calcolati utilizzando diverse colonne esistenti e con pochi valori scalari della tabella. Inoltre, queste colonne dipendono da una o più altre colonne., In questo modo, possiamo creare una colonna calcolata utilizzando la funzione Coalesce SQL in modo che i valori NULL siano gestiti in modo efficiente.

Ora, puoi vedere che una semplice istruzione SELECT visualizza i risultati pre-calcolati.

SQL COALESCE e CASE expression

La funzione SQL COALESCE può essere rappresentata sintatticamente utilizzando l’espressione CASE. Ad esempio, come sappiamo, la funzione Coalesce restituisce i primi valori non NULLI.,

SELEZIONA COALESCE (expression1, expression2, expression3) DA TABLENAME;

L’istruzione SQL Coalesce sopra può essere riscritta usando l’istruzione CASE.,id=”6df95ef3dd”>

1
2
3
4
5
6
7
8
9
10
11
12
SELEZIONA
nome+”+cognome fullname,
la relazione,
CASO
QUANDO homephone NON è NULL, Quindi homephone
QUANDO il cellulare NON è NULL, Quindi cellulare
QUANDO telefonoufficio NON è NULL, Quindi telefonoufficio
ELSE ‘NA’
INDIA
EmergencyContactNumber
DAL
dbx.,tb_EmergencyContact

La query restituisce lo stesso risultato di quella che utilizza la funzione COALESCE.

Wrap Up

In questo articolo, abbiamo discusso alcuni suggerimenti e trucchi per dimostrare l’uso della funzione Coalesce SQL per eseguire query in modo efficace con il T-SQL. Abbiamo anche discusso vari casi d’uso della funzione SQL Coalesce. È anche possibile ottimizzare l’output creando una colonna calcolata.

Spero che ti sia piaciuto questo articolo sulla funzione Coalesce in SQL Server., Sentiti libero di fare domande nei commenti qui sotto.

  • Autore
  • Post Recenti
Ho un Database di tecnologo avendo 11 anni di ricca esperienza hands-on su tecnologie di Database. Sono Microsoft Certified Professional e sostenuto con una laurea in Master of Computer Application.
La mia specialità consiste nel progettare & implementando soluzioni ad alta disponibilità e migrazione DB multipiattaforma., Le tecnologie attualmente in lavorazione sono SQL Server, PowerShell, Oracle e MongoDB.,
Visualizza tutti i messaggi di Prashanth Jayaram

Ultimi messaggi di Prashanth Jayaram (vedi tutti)
  • Una rapida panoramica di controllo del database in SQL – gennaio 28, 2021
  • Come impostare la Sincronizzazione di Dati Azure tra Azure SQL database e di SQL Server-edificio – 20 gennaio 2021
  • Come eseguire Azure SQL database di Importazione/Esportazione, le operazioni di utilizzo di PowerShell – 14 gennaio 2021

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *