În acest articol, vom revizui noua funcție SQL TRIM în SQL Server 2017 și versiunile anterioare, precum și furnizarea unor informații despre funcțiile șirurilor de caractere care îl precedă, cum ar fi LTRIM ȘI RTRIM.
Dezvoltatorii SQL se confruntă de obicei cu probleme cu spații la începutul și / sau la sfârșitul unui șir de caractere. Este posibil să trebuiască să tăiem caracterele principale și finale dintr-un șir de caractere. S-ar putea să avem nevoie să facem și manipulări de șiruri cu funcții SQL. Să presupunem că vrem să eliminăm spațiile de la capătul final al unui șir, ar trebui să folosim funcțiile SQL LTRIM și RTRIM până la SQL Server 2016.
În SQL Server 2017, obținem o nouă funcție încorporată pentru tăiați atât caracterele principale, cât și cele finale, împreună cu o singură funcție. Funcția SQL TRIM oferă funcționalități suplimentare de eliminare a caracterelor din șirul specificat. Putem utiliza în continuare funcțiile RTRIM și LTRIM și cu SQL Server 2017. Să explorăm aceste funcții cu exemple.
Funcția SQL LTRIM
Elimină caracterele de la începutul (Începând din partea stângă) a șirului specificat. În următoarea interogare, avem spațiu alb înainte și după șir. Trebuie să eliminăm spațiul din partea stângă a șirului folosind funcția LTRIM.
Folosim funcția SQL DATALENGTH () pentru a calcula lungimea datelor în octeți înainte și după utilizarea funcției SQL LTRIM.
- Dimensiunea șirului de date în octeți pentru șirul original: 24
- Dimensiunea șirului de date în octeți după SQL LTRIM: 18
Funcția SQL RTRIM
Elimină caracterele de la sfârșitul ((Începând din partea dreaptă) a șirului specificat. Să executăm următoarea interogare pentru a vedea efectul funcției SQL RTRIM.
- Dimensiunea șirului de date în octeți pentru șirul original: 24
- Dimensiunea șirului de date în octeți după SQL RTRIM: 16
Funcția TRIM în SQL Server 2017
Înainte de SQL Server 2017, dacă trebuie să eliminăm atât spațiile Leading, cât și Training, trebuie să folosim funcția LTRIM și RTRIM. În următoarea interogare , am folosit atât funcțiile LTRIM, cât și RTIM cu o variabilă șir.
În următoarea captură de ecran, putem vedea că elimină atât principalele, cât și tra lăsând spațiul din șir.
- Dimensiunea șirului de date în octeți pentru șirul original: 24
- Dimensiunea șirului de date în octeți după SQL LTRIM: 11
- Dimensiunea șirului de date în octeți pentru șirul original: 25
- Dimensiunea șirului de date în octeți după SQL LTRIM și RTRIM: 11
Trebuie să folosim două funcții pentru a elimina spațiile din șir. Putem utiliza o singură instanță a unei funcții TRIM în SQL Server 2017 și mai departe pentru a tăia atât caracterele principale, cât și cele finale, să explorăm funcția TRIM într-o secțiune suplimentară a acestui articol.
Sintaxa funcției TRIM
1
|
TRIM (șir)
|
- TrimCharacter: Putem specifica caracterul de eliminat din șir. În mod implicit, SQL Server elimină spațiile de pe ambele părți ale unui șir
- Șir: Trebuie să specificăm șirul pe care dorim să-l tăiem
Să explorăm funcția SQL TRIM cu exemple.
TRIM Leading and Training spaces:
În mod implicit, funcția Trim elimină spațiul de pe ambele părți ale unui șir. În următoarea interogare, trebuie să definim un șir cu spațiu pe ambele părți ale șirului.
Executați această interogare:
Nu am specificat caractere de eliminat în funcția TRIM. În rezultat, funcția SQL TRIM elimină atât spațiul principal, cât și spațiul final.
Puteți observa, de asemenea, diferența de lungime a șirului înainte și după funcția TRIM.
- Dimensiunea șirului de date în octeți pentru șirul original: 24
- Dimensiunea șirului de date în octeți după SQL TRIM: 11
TRIM Caracterele principale dintr-un șir:
În exemplul anterior, am explorat că SQL TRIM este înlocuirea RTRIM și LTRIM și elimină pentru a șterge toate caracterele spațiale înainte și după un șir. Putem elimina și caracterele din șir folosind TRIM. Să presupunem că vrem să eliminăm caracterul ON din șir, îl putem specifica în funcția TRIM conform scriptului următor.
Verifică caracterele specificate atât pe partea de început, cât și pe cea de final și elimină caracterele particulare. În șirul Aplicație, avem caracterul ACTIVAT în partea de sus. În următoarea captură de ecran, puteți privi ieșirea după funcția TRIM.
- Dimensiunea șirului de date în octeți pentru șirul original: 11
- Dimensiunea șirului de date în octeți după SQL TRIM: 9
Să vedem încă un exemplu. De data aceasta vrem să eliminăm caracterele App din partea de sus. Nu este nevoie să facem modificări în script. Putem specifica caracterul de eliminat folosind SQL TRIM și oferă rezultatul necesar.
- Dimensiunea șirului de date în octeți pentru șirul original: 11
- Dimensiunea șirului de date în octeți după SQL TRIM: 8
În exemplele anterioare, am eliminat caracterul fie din capătul principal, fie din capătul final . Dacă avem un caracter pe ambele părți, îl elimină și pe acesta.
În exemplul următor, dorim să eliminăm caracterul A care se află pe ambele părți ale șirului. Executați scriptul și acesta elimină caracterele specificate de ambele părți.
- Dimensiunea șirului de date în octeți pentru original Șir: 12
- Dimensiunea șirului de date în octeți după SQL TRIM: 10
Să presupunem că am specificat un caracter care nu este prezent pe șir. În exemplul următor, dorim să eliminăm caracterele A și C de la capătul principal sau final. Nu avem caracterul C de ambele părți, deci nu îl elimină. Elimină doar caracterul A și dă rezultatul.
- Dimensiunea șirului de date în octeți pentru șirul original: 12
- Dimensiunea șirului de date în octeți după SQL TRIM: 10
TRIM pentru înregistrări într-un tabel
În articolul anterior, am folosit o variabilă pentru a defini un șir și a efectua operația SQL TRIM pe acesta. De obicei, trebuie să folosim TRIM pe înregistrările de masă. Să îl folosim în exemplul următor.
În exemplele următoare, a eliminat caracterul R din șir la capătul principal și final.
Putem folosi funcția SQL TRIM și în instrucțiunea Update. Să presupunem că dorim să actualizăm toate înregistrările din tabelul Angajaților și dorim să eliminăm caracterele Manager din JobTitile.
Nu tratează Managerul ca pe un singur cuvânt. Funcția de tăiere verifică fiecare caracter din șir și îl elimină.
Putem folosi virgula (,) pentru a separa fiecare caracter De asemenea.
De asemenea, face același lucru și elimină caractere specifice din șir la un capăt principal și final.
Concluzie
În acest articol, am explorat funcția SQL TRIM cu SQL Server 2017 și versiuni ulterioare. De asemenea, am aflat despre funcțiile TRIM LTRIM și RTRIM disponibile și pe sau înainte de SQL Server 2016.
În funcție de versiunea SQL Server pe care o utilizați, ar trebui să înțelegeți aceste funcții și să vă familiarizați cu conceptele. Sper să vă fie util acest articol. Nu ezitați să oferiți feedback sau să puneți întrebări în comentariile de mai jos.
- Autor
- Postări recente
El este creatorul uneia dintre cele mai mari colecții online gratuite de articole pe un singur subiect, cu seria sa de 50 de părți despre SQL Server Always On Availability Groups. Pe baza contribuției sale la comunitatea SQL Server, a fost recunoscut cu diverse premii, inclusiv prestigiosul „Cel mai bun autor al anului” continuu în 2020 și 2021 la SQLShack.
Raj este mereu interesat de noi provocări, deci dacă aveți nevoie de consultanță ajutor cu privire la orice subiect acoperit în scrierile sale, poate fi contactat la [email protected]
Vezi toate mesajele lui Rajendra Gupta
- Efectuarea actualizărilor versiunilor minore și majore pentru AWS RDS SQL Server – 29 ianuarie 2021
- Implementarea instanțelor AWS RDS PostgreSQL – 27 ianuarie 2021
- Migrarea bazelor de date SQL locale la AWS RDS SQL Server utilizând AWS DMS – 25 ianuarie , 2021