Modi intelligenti per utilizzare una stringa di concatenazione SQL
Structured Query Language (SQL) è uno strumento straordinariamente potente e pieno di funzionalità. Una volta che hai padroneggiato i comandi SQL più importanti 13 Comandi SQL più importanti Qualunque programmatore dovrebbe sapere 13 Comandi SQL più importanti Qualsiasi programmatore dovrebbe sapere Ogni sito Web grande o dinamico utilizza un database in qualche modo e se combinato con Structured Query Language (SQL) le possibilità di manipolare i dati sono davvero infinite. Leggi di più, puoi iniziare a diventare un po 'più creativo con il tuo SQL. Oggi ti mostrerò tutto ciò che devi sapere sulle stringhe di concatenazione SQL.
Esistono molti dialetti SQL diversi. Per tutti questi esempi, sto usando la variante di PostgreSQL.
Cos'è la concatenazione?
Concatenazione significa unire due cose insieme. Potresti averlo usato in un linguaggio di programmazione per unire due stringhe insieme. Forse hai un nome e le variabili di cognome che hai unito come variabile nome completo.
La concatenazione è un modo molto utile di combinare due stringhe in una. PHP usa un punto fermo per unire insieme le stringhe, mentre JavaScript e jQuery Una guida di base per JQuery per i programmatori Javascript Una guida di base per JQuery per i programmatori Javascript Se sei un programmatore Javascript, questa guida a JQuery ti aiuterà a iniziare a programmare come un ninja. Per saperne di più usa un segno più.
La concatenazione in SQL funziona esattamente allo stesso modo. Usi un operatore speciale per unire due cose in una. Ecco un esempio in Pseudocodice:
first_name = Joe last_name = Coburn whole_name = first_name + last_name
Nei linguaggi di programmazione, la concatenazione facilita la lettura del codice. Se il tuo codice ha sempre bisogno di accedere a due stringhe, combinarle in una lo rende più facile da ricordare e riduce la lunghezza del codice.
Mentre le variabili in SQL sono meno comuni (ma sono ancora utilizzate), la concatenazione è ancora necessaria per restituire risultati combinati o per manipolare i dati.
Come concatenare
La concatenazione è molto facile in SQL. Mentre SQL è un linguaggio comune, i singoli motori di database implementano le funzionalità in modi diversi. Mentre tutti questi esempi sono nel dialetto PostgreSQL, è facile tradurre in altre varianti semplicemente cercando nel web “Concatenare
Tornando al nostro esempio di nome, ecco una base selezionare query:
SELECT first_name, last_name, email FROM users_table
Nulla di complesso qui, quindi aggiungiamo il concatenato:
SELECT first_name || last_name AS nome_completo, email da parte di users_table
Come puoi vedere, questa concatenazione ha funzionato perfettamente, ma c'è un piccolo problema. Il nome completo risultante è stato cucito insieme esattamente come il prodotto di entrambe le colonne: dovrebbe esserci uno spazio tra i nomi!
Fortunatamente, è facile da risolvere: basta concatenare uno spazio tra i due:
SELECT first_name || "|| last_name AS full_name, email FROM users_table
Questi sono esempi di base, ma dovresti vedere come funziona la concatenazione: è davvero così facile! L'operatore di tubi (|) viene utilizzato due volte tra le clausole. Il tuo motore SQL sa che ogni parte prima e dopo questo simbolo deve essere unita e trattata come una sola. Attenzione però, se usi l'operatore concat ma non concateni nulla, otterrai un errore.
Come accennato in precedenza, questi esempi utilizzano la variante PostgreSQL di SQL. Altre varianti possono utilizzare un operatore diverso o anche una funzione speciale che è necessario chiamare. Non importa Come concatenate le stringhe, assicurandovi di farlo nel modo in cui il vostro motore di database si aspetta.
Going Deeper
Ora che conosci le basi, diamo un'occhiata ad alcuni esempi approfonditi, insieme ad alcune insidie comuni.
La maggior parte dei motori di database conterrà con successo una combinazione di stringhe e interi, forse anche di date. Di solito si incontrano problemi quando si tenta di concatenare tipi complessi come gli array:
SELECT first_name || "|| last_name || ARRAY [123, 456] AS full_name, email FROM users_table
Questo codice non funzionerà. Non è possibile combinare stringhe con oggetti complessi come gli array. Se pensi a ciò che devi fare, puoi spesso scrivere codice semplice che funziona, piuttosto che codice pazzo complesso che non riesce a funzionare.
Se hai riflettuto attentamente su cosa devi fare e non riesci ancora a far funzionare l'SQL, hai pensato di utilizzare un linguaggio di programmazione? Come sviluppatore di software che lavora su un codice legacy, conosco il dolore di provare a eseguire il debug di SQL che qualcuno ha stipato così tanta logica in esso è un miracolo che funzioni - se si sta tentando di scrivere la logica in SQL, quindi passare a una programmazione lingua (ci sono un sacco di lingue facili da imparare 6 I linguaggi di programmazione più semplici da imparare per principianti 6 Linguaggi di programmazione più semplici da imparare per principianti Imparare a programmare è trovare la lingua giusta tanto quanto riguarda il processo di edificazione. linguaggi di programmazione più semplici per i principianti. Per saperne di più).
La concatenazione funziona molto bene per dove dichiarazioni pure:
SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR') :: date
Ci sono alcune cose che accadono qui. In questo esempio, GIORNO, MESE, e ANNO sono parametri passati da uno script. Forse questi sono stati generati dal codice o inseriti da un utente. Questi sono concatenati insieme, e quindi lanciati su un tipo di data (usando il cast di PostgreSQL per la sintassi della data ::Data).
L'uso della concatenazione in questo modo consente di concatenare le singole parti di una data, che possono quindi essere elaborate come un “vero” data, al contrario di una stringa. Non dimenticare che questo esempio di base non protegge dall'iniezione SQL Che cos'è un'Iniezione SQL? [MakeUseOf Explains] Che cos'è un'Iniezione SQL? [MakeUseOf Explains] Il mondo della sicurezza di Internet è afflitto da porte aperte, backdoor, buchi di sicurezza, trojan, worm, vulnerabilità dei firewall e una manciata di altri problemi che ci tengono tutti in punta di piedi ogni giorno. Per gli utenti privati, ... Leggi di più, quindi non usarlo in alcun codice di produzione senza modificare.
Un'altra trappola a cui prestare attenzione è nullo valori (una stringa nulla è una stringa vuota o non esistente). Data questa domanda:
SELECT first_name || "|| NULL AS full_name, email FROM users_table
Questa query non riesce in modo silenzioso. Ciò è dovuto al modo in cui la concatenazione è codificata internamente sul tuo motore di database. Potresti non incontrare sempre questo problema, ma è piuttosto un evento comune.
Se ritieni che i dati restituiti dalla tua query possano essere nulli, dovrai utilizzare a fondersi. Si può pensare approssimativamente a Coalesce come “se questo è nullo, sostituirlo con questa altra stringa o colonna”:
SELECT first_name || "|| COALESCE (NULL, 'ERROR NULL DATA') COME full_name, email da users_table
Ora sai come usare la concatenazione in SQL, cosa farai con esso? Farai un sito Web Come creare un sito Web: per principianti Come creare un sito web: per principianti Oggi ti guiderò attraverso il processo di creazione di un sito Web completo da zero. Non ti preoccupare se questo sembra difficile. Ti guiderò in ogni fase del percorso. Leggi di più e vivacizzali con SQL? O forse hai bisogno di un generatore di siti statici 7 motivi per abbandonare il tuo CMS e considerare un generatore di siti statico 7 motivi per abbandonare il tuo CMS e considerare un generatore di siti statici Per molti anni la pubblicazione di un sito Web è stata difficile per molti utenti. CMS come WordPress lo hanno cambiato, ma possono ancora essere confusi. Un'altra alternativa è un generatore di siti statici. Ulteriori informazioni per un approccio più semplice alla creazione di siti Web.
Qualunque cosa tu faccia, facci sapere nei commenti qui sotto!
Scopri di più su: programmazione, SQL.