Tässä artikkelissa tarkastellaan uutta SQL TRIM -funktiota SQL Server 2017: stä eteenpäin sekä tarjoamalla tietoja merkkijonofunktioista, jotka sitä päivittävät, kuten LTRIM ja RTRIM.
SQL-kehittäjät kohtaavat yleensä spaceS-ongelmat merkkijonon alussa ja / tai lopussa. Saatamme joutua leikkaamaan etu- ja perämerkit merkkijonosta. Saatamme joutua tekemään merkkijonon manipulaatioita myös SQL-toimintojen kanssa. Oletetaan, että haluamme poistaa välilyöntejä merkkijonon loppupäästä, meidän on käytettävä SQL LTRIM- ja RTRIM-toimintoja SQL Server 2016: een asti.
SQL Server 2017: ssä saat uuden sisäänrakennetun toiminnon leikkaa sekä etu- että loppumerkit yhdessä toiminnossa. SQL TRIM -toiminto tarjoaa lisätoimintoja merkkien poistamiseksi määritetystä merkkijonosta. Voimme silti käyttää RTRIM- ja LTRIM-toimintoja myös SQL Server 2017: n kanssa. Tutkitaan näitä toimintoja esimerkkien avulla.
SQL LTRIM -funktio
Se poistaa merkit määritetyn merkkijonon alusta (alkaen vasemmalta puolelta). Seuraavassa kyselyssä meillä on tyhjä tila merkkijonon edessä ja jälkeen. Meidän on poistettava tila merkkijonon vasemmalta puolelta LTRIM-toiminnolla.
Käytämme SQL DATALENGTH () -funktiota laskemaan datan pituus tavuina ennen ja jälkeen SQL LTRIM -funktion.
- Tietojonon koko tavuina alkuperäiselle merkkijonolle: 24
- Tietojonon koko tavuina tavoissa SQL LTRIM: n jälkeen: 18
SQL RTRIM -funktio
Se poistaa merkit määritetyn merkkijonon päästä ((alkaen oikealta). Suoritetaan seuraava kysely tarkastelemaan SQL RTRIM -funktion vaikutusta.
- Tietojonon koko tavuina alkuperäiselle merkkijonolle: 24
- Tietojonon koko tavuina SQL RTRIM: n jälkeen: 16
TRIM-toiminto SQL Server 2017: ssä
Ennen kuin SQL Server 2017 on poistettava sekä Leading- että Training-tilat, meidän on käytettävä sekä LTRIM- että RTRIM-toimintoja. Seuraavassa kyselyssä , käytimme sekä LTRIM- että RTIM-toimintoja merkkijonomuuttujan kanssa.
Seuraavassa kuvakaappauksessa voimme nähdä, että se poistaa sekä etu- että tra tilaa tilaa merkkijonosta.
- Tietojonon koko tavuina alkuperäisessä merkkijonossa: 24
- Tietojonon koko tavuina tavoissa SQL LTRIM: n jälkeen: 11
- Tietojonon koko tavuina alkuperäiselle merkkijonolle: 25
- Tietojonon koko tavuina tavoissa SQL LTRIM ja RTRIM: 11
Meidän on käytettävä kahta toimintoa poistamaan välilyönnit merkkijonosta. Voimme käyttää yhtä TRIM-funktion esiintymää SQL Server 2017: stä eteenpäin sekä etu- että loppumerkkien leikkaamiseen. Tutkitaan TRIM-toimintoa tämän artikkelin toisessa osassa.
TRIM-funktion syntaksit
1
|
TRIM (merkkijono)
|
- TrimCharacter: Voimme määrittää merkkijonosta poistettavan merkin. Oletusarvon mukaan SQL Server poistaa välilyönnit merkkijonon molemmilta puolilta
- Merkkijono: Meidän on määritettävä leikattava merkkijono
Tutkitaan SQL TRIM -funktiota esimerkkejä.
TRIM Leading- ja Training-tilat:
Trim-toiminto poistaa oletusarvoisesti merkkijonon molemmilta puolilta. Seuraavassa kyselyssä meidän on määritettävä merkkijono, jossa on merkkijono merkkijonon molemmilla puolilla.
Suorita tämä kysely:
Emme määrittäneet poistettavia merkkejä TRIM-toiminnossa. Lähdössä SQL TRIM -toiminto poistaa sekä etu- että lopputilan.
Voit myös havaita merkkijonojen pituuden eron ennen ja jälkeen TRIM-toiminnon.
- Tietojonon koko tavuina alkuperäiselle merkkijonolle: 24
- Tietojonon koko tavuina tavuissa SQL TRIM: n jälkeen: 11
TRIM Merkkijonon johtavat merkit:
Edellisessä esimerkissä selvitimme, että SQL TRIM korvaa RTRIM: n ja LTRIM: n ja se eliminoi kaikkien välilyöntien poistaminen ennen merkkijonoa ja sen jälkeen. Voimme poistaa merkit myös merkkijonosta TRIM: n avulla. Oletetaan, että haluamme poistaa merkin ON merkkijonosta, voimme määrittää sen TRIM-funktiossa seuraavan komentosarjan mukaisesti.
Se tarkistaa määritetyt merkit sekä etu- että loppupuolella ja poistaa tietyt merkit. Merkkijonosovelluksessa etupuolella on merkki PÄÄLLÄ. Seuraavassa kuvakaappauksessa voit tarkastella lähtöä TRIM-toiminnon jälkeen.
- Tietojonon koko tavuina alkuperäiselle merkkijonolle: 11
- Tietojonon koko tavuina tavuina SQL TRIM: n jälkeen: 9
Katsotaanpa vielä yksi esimerkki. Tällä kertaa haluamme poistaa hahmot App johtavalta puolelta. Meidän ei tarvitse tehdä mitään muutoksia komentosarjaan. Voimme määrittää poistettavan merkin SQL TRIM: n avulla, ja se antaa vaaditun tuloksen.
- Tietojonon koko tavuina alkuperäistä merkkijonoa varten: 11
- Tietojonon koko tavuina tavuina SQL TRIM: n jälkeen: 8
Aikaisemmissa esimerkeissä poistimme merkin joko etupäästä tai takapäästä . Jos meillä on merkki molemmilla puolilla, se poistaa ne myös.
Seuraavassa esimerkissä haluamme poistaa merkin A, joka on merkkijonon molemmin puolin. Suorita komentosarja ja se poistaa määritetyt merkit molemmilta puolilta.
- Tietojonon koko tavuina tavuina Merkkijono: 12
- Tietojonon koko tavuina tavuina SQL TRIM: n jälkeen: 10
Oletetaan, että olemme määrittäneet merkin, jota ei ole merkkijonossa. Seuraavassa esimerkissä haluamme poistaa merkit A ja C etu- tai loppupäästä. Meillä ei ole merkkiä C kummallakaan puolella, joten se ei poista sitä. Se poistaa vain merkin A ja antaa tuloksen.
- Datan merkkijonon koko tavuina alkuperäiselle merkkijonolle: 12
- Tietojonon koko tavuina tavuissa SQL TRIM: n jälkeen: 10
taulukon tietueiden TRIM
Edellisessä artikkelissa käytimme muuttujaa merkkijonon määrittelemiseen ja SQL TRIM -operaation suorittamiseen siinä. Tavallisesti vaaditaan TRIM: n käyttöä pöytätietueissa. Käytetään sitä seuraavassa esimerkissä.
Seuraavissa esimerkeissä se poisti merkin R merkkijonosta etu- ja loppupäässä.
Voimme käyttää SQL TRIM -toimintoa myös Update-käskyssä. Oletetaan, että haluamme päivittää kaikki työntekijät-taulukon tietueet ja haluamme poistaa merkkien hallinta JobTitilestä.
Se ei käsittele johtajaa yhtenä sanana. Trim-toiminto tarkistaa merkkijonon jokaisen merkin ja eliminoi sen.
Voimme käyttää pilkkuja (,) erottamaan jokaisen merkin samoin.
Se tekee myös saman työn ja poistaa tietyt merkit merkkijonosta etu- ja loppupäässä.
Johtopäätös
Tässä artikkelissa tutkimme SQL TRIM -funktiota SQL Server 2017: n tai uudemman kanssa. Opimme myös TRIM-toiminnoista LTRIM ja RTRIM, jotka ovat käytettävissä SQL Server 2016: ssa tai ennen sitä.
Riippuen käyttämästäsi SQL Server -versiosta, sinun tulee ymmärtää nämä toiminnot ja tuntea käsitteet. Toivottavasti pidät tätä artikkelia hyödyllisenä. Anna palautetta tai esitä kysymyksiä alla olevissa kommenteissa.
- Kirjoittaja
- viimeisimmät viestit
Hän on luonut yhden suurimmista ilmaisista online-artikkelikokoelmista yhdestä aiheesta, 50-osaisella sarjallaan SQL Server Always On Availability Groups -ryhmissä. Hänen osuutensa perusteella SQL Server -yhteisöön hänet on tunnustettu useilla palkinnoilla, kuten arvostettu ”Vuoden paras kirjailija” jatkuvasti vuosina 2020 ja 2021 SQLShackissa.
Raj on aina kiinnostunut uusista haasteista, joten jos tarvitset konsultointia apua mistä tahansa hänen kirjoituksissaan käsitellystä aiheesta, hän on tavoitettavissa osoitteessa [email protected]
Näytä kaikki viestit, jotka on kirjoittanut Rajendra Gupta
- Pienien ja suurten versiopäivitysten tekeminen AWS: lle RDS SQL Server – 29. tammikuuta 2021
- AWS RDS PostgreSQL -esiintymien käyttöönotto – 27. tammikuuta 2021
- Paikallisten SQL-tietokantojen siirtäminen AWS RDS SQL Serveriin AWS DMS: n avulla – 25. tammikuuta , 2021