Moduri inteligente de a folosi o coardă de concatenare SQL
Limba de interogare structurată (SQL) este un instrument remarcabil de puternic și unul plin de caracteristici. Odată ce ați stăpânit cele mai importante comenzi SQL 13 Cele mai importante comenzi SQL pe care orice programator ar trebui să le cunoască Cele mai importante comenzi SQL pe care orice programator ar trebui să le cunoască Fiecare site mare sau dinamic utilizează într-un fel o bază de date și când este combinat cu SQL (Structured Query Language) , posibilitățile de manipulare a datelor sunt cu adevărat nesfârșite. Citiți mai multe, puteți începe să obțineți un pic mai creativ cu SQL. Astăzi vă voi arăta tot ce trebuie să știți despre șirurile de concatenare SQL.
Există multe dialecte SQL diferite. Pentru toate aceste exemple, folosesc varianta PostgreSQL.
Ce este concatenarea?
Concatenarea înseamnă să vă alăturați două lucruri împreună. Este posibil să fi folosit-o într-o limbă de programare pentru a vă alătura împreună două corzi. Poate că aveți variabile de nume și prenume pe care le-ați înscris împreună ca variabilă de nume complet.
Concatenarea este o modalitate foarte utilă de a combina două șiruri de caractere într-una. PHP utilizează o oprire completă pentru a se alătura unor șiruri împreună, în timp ce JavaScript și jQuery Un ghid de bază pentru JQuery pentru programatori Javascript Un ghid de bază pentru JQuery pentru programatori Javascript Dacă sunteți un programator Javascript, acest ghid pentru JQuery vă va ajuta să începeți codarea ca un ninja. Citiți mai mult folosiți un semn plus.
Concatenarea în SQL funcționează exact la fel. Folosiți un operator special pentru a vă alătura două lucruri într-una. Iată un exemplu în Pseudocode:
first_name = Joe ultima_name = Coburn nume_clasament = primul nume_name + ultim_name
În limbile de programare, concatenarea face codul mai ușor de citit. Dacă codul dvs. are întotdeauna nevoie să acceseze două șiruri de caractere, combinarea acestora într-una ușurează memorarea și reduce lungimea codului.
În timp ce variabilele din SQL sunt mai puțin frecvente (dar sunt încă folosite), concatenarea este încă necesară pentru returnarea rezultatelor combinate sau pentru manipularea datelor.
Cum să concatenați
Concatenarea este foarte ușor în SQL. În timp ce SQL este un limbaj comun, motoarele de baze de date individuale implementează caracteristici în moduri diferite. În timp ce toate aceste exemple sunt în dialectul PostgreSQL, este ușor să se traducă la alte variante prin căutarea pur și simplu pe web pentru “Înlănţui
Revenind la exemplul nostru de nume, iată un element de bază Selectați interogare:
SELECT first_name, last_name, email FROM users_table
Nu este nimic complex aici, deci să adăugăm în concatenat:
SELECT prima_name || last_name AS full_name, email FROM users_table
După cum puteți vedea, această concatenare a funcționat perfect, dar există o mică problemă. Numele complet rezultat a fost cusut împreună exact ca produsul ambelor coloane - ar trebui să existe un spațiu între nume!
Din fericire, este ușor să repari: pur și simplu un spațiu concat între cele două:
SELECT prima_name || "|| last_name AS full_name, email FROM users_table
Acestea sunt exemple de bază, dar ar trebui să vedeți cum funcționează concatenarea - este într-adevăr atât de ușor! Operatorul conductei (|) este folosit de două ori între clauze. Motorul dvs. SQL știe că fiecare parte înainte și după acest simbol trebuie să fie îmbinată și tratată ca una. Fiți atent, totuși, dacă utilizați operatorul concat dar nu concatenați nimic, veți primi o eroare.
După cum sa menționat mai sus, aceste exemple utilizează varianta PostgreSQL a SQL. Alte variante pot utiliza un alt operator sau chiar o funcție specială pe care trebuie să o apelați. Nu contează cu adevărat Cum să concatenați șiruri de caractere, oferindu-vă să o faceți în modul în care vă așteaptă motorul bazei de date.
Mergând mai adânc
Acum, când cunoașteți elementele de bază, să examinăm câteva exemple detaliate, împreună cu unele capcane comune.
Cele mai multe motoare de baze de date vor concate cu succes un amestec de siruri de caractere și numere întregi, poate și date. Veți întâlni probleme când încercați să concatenați tipuri complexe, cum ar fi:
SELECT prima_name || "|| last_name || ARRAY [123, 456] AS nume_plin, email FROM users_table
Acest cod nu va funcționa. Nu este posibilă combinarea șirurilor cu obiecte complexe, cum ar fi matricele. Dacă vă gândiți la ceea ce trebuie să faceți, puteți scrie adesea un cod simplu care funcționează, mai degrabă decât un complex, un cod nebun care nu reușește să ruleze.
Dacă ați gândit cu atenție la ceea ce trebuie să faceți, și încă nu puteți obține SQL la locul de muncă, atunci ați luat în considerare utilizarea unui limbaj de programare? Ca dezvoltator de software care lucrează la codul vechi, știu că durerea încercării de depanare a SQL-ului, că cineva a umplut atât de multă logică, este o minune pe care o conduce deloc - dacă încercați să scrieți logică în SQL, atunci treceți la o programare limbaj (există o mulțime de limbi ușor de învățat 6 limbi de programare cele mai ușoare pentru a învăța pentru începători 6 cele mai ușoare limbi de programare pentru a învăța pentru începători Învățarea de a programa este despre găsirea limbii potrivite la fel de mult ca despre procesul de edificare. cele mai simple limbi de programare pentru începători. Citește mai mult).
Concatenarea funcționează foarte bine pentru Unde și declarațiile:
SELECT prima_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || MONTH '||' / '|| YEAR') :: data
Sunt câteva lucruri care se întâmplă aici. În acest exemplu, ZI, LUNĂ, și AN sunt parametrii care au fost transmise dintr-un script. Poate că acestea au fost generate de cod sau introduse de un utilizator. Acestea sunt concatenate împreună și apoi exprimate la un tip de dată (utilizând sintaxa PostgreSQL distribuită până în prezent) ::Data).
Folosind concatenarea în acest fel vă permite să lanțați împreună părțile individuale ale unei date, care apoi pot fi procesate ca a “real” data, spre deosebire de un șir. Nu uitați că acest exemplu de bază nu protejează împotriva injecției SQL Ce este o injecție SQL? [Explicarea MakeUseOf] Ce este o injecție SQL? [MakeUseOf explică] Lumea securității pe Internet este afectată de porturi deschise, backdoors, găuri de securitate, troieni, viermi, vulnerabilități ale firewall-ului și o serie de alte probleme care ne țin pe fiecare în fiecare zi. Pentru utilizatorii privați, ... Citiți mai multe, deci nu utilizați-l în niciun cod de producție fără a modifica.
O altă capcană pe care trebuie să o supravegheați este nul (un șir nul este un șir gol sau nu). Având în vedere această interogare:
SELECT first_name || "|| NULL AS nume_plin, email FROM users_table
Această interogare nu reușește în tăcere. Acest lucru se datorează modului în care concatenarea este codificată intern pe motorul de bază de date. Este posibil să nu întâlniți întotdeauna această problemă, dar este un eveniment comun.
Dacă credeți că datele returnate de interogare pot fi nulă, atunci va trebui să utilizați a coaliza. Coalesce poate fi gândit aproximativ la fel “dacă aceasta este nulă, înlocuiți-o cu acest alt șir sau coloană”:
SELECT first_name || "|| COALESCE (NULL, 'ERROR NULL DATA') ca nume_plin, email FROM users_table
Acum, știți cum să utilizați concatenarea în SQL, ce veți face cu ea? Vei face un site Cum sa faci un site web: Pentru incepatori Cum sa faci un site web: Pentru incepatori Azi te voi ghida in procesul de a face un site complet de la zero. Nu vă faceți griji dacă acest lucru pare dificil. Te voi îndruma în fiecare pas al drumului. Citiți mai multe și faceți-le viața cu SQL? Sau poate aveți nevoie de un generator de site-uri statice 7 motive pentru a vă șterge CMS și să ia în considerare un generator de site-ul static 7 motive pentru a vă scufunda CMS și să ia în considerare un generator de site-ul static De mulți ani, publicarea unui site web a fost dificil pentru mulți utilizatori. CMS, cum ar fi WordPress, au schimbat acest lucru, dar pot fi în continuare confuze. O altă alternativă este un generator de site-uri statice. Citiți mai multe pentru o abordare mai simplă a construirii site-urilor Web.
Indiferent ce faceți, anunțați-ne în comentariile de mai jos!
Explorați mai multe despre: Programare, SQL.