Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak usunąć wiodące i końcowe znaki w SQL Server

W SQL Server TRIM() funkcja jest powszechnie używana do usuwania wiodących i końcowych białych znaków z ciągu. Ale czy wiesz, że możesz również usunąć inne znaki z początku/końca ciągu? Nie musi to być spacja.

TRIM() to funkcja T-SQL, która w szczególności usuwa znak spacji char(32) lub inne określone znaki od początku lub końca ciągu.

Składnia

Składnia wygląda tak:

TRIM ( [ characters FROM ] string )

string argument jest wymaganym argumentem – jest to rzeczywisty ciąg do przycięcia.

characters FROM to opcjonalny argument to bit, który pozwala określić, które znaki powinny zostać usunięte (zakładając, że nie usuwasz tylko znaku spacji). Jeśli nie określisz, które znaki, spacja zostanie przycięta.

Przykład

Oto podstawowy przykład obcinania początkowych i końcowych znaków równości (= ) z ciągu:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Wynik

Result  
--------
SPECIALS

Wiele instancji postaci

Przycina również wiele wystąpień określonego znaku.

Przykład:

SELECT TRIM('=' FROM '===SPECIALS===') AS Result;

Wynik:

Result  
--------
SPECIALS

Przycinanie wielu znaków

Pozwala także przyciąć wiele znaków.

Przykład:

SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;

Wynik:

Result  
--------
SPECIALS

Wbudowana biała przestrzeń

Jeśli spacja istnieje wewnątrz przyciętych znaków, nie oczekuj, że zostaną one przycięte (chyba że wyraźnie określisz również spację jako jeden ze znaków do przycięcia).

Oto, co mam na myśli:

SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

Wynik:

Result        
--------------
   SPECIALS   

W tym przypadku znak równości jest przycinany, ale odstęp pozostaje. Dzieje się tak, ponieważ biała spacja nie znajduje się bezpośrednio po lewej i/lub prawej stronie ciągu.

Jeśli chcemy usunąć zarówno znak równości i spację możemy po prostu dodać spację do listy znaków do przycięcia:

SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

Wynik:

Result  
--------
SPECIALS

Znaki otoczone białymi znakami

Podobnie jak w poprzednim przykładzie, nie można oczekiwać, że SQL Server przytnie określony znak, jeśli między nim a początkiem/końcem ciągu jest spacja.

Na przykład:

SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Wynik:

Result          
----------------
   =SPECIALS=

W tym przykładzie nic nie zostało przycięte. Dzieje się tak, ponieważ między znakami równości a początkiem/końcem ciągu znajduje się odstęp.

W takim przypadku możesz po prostu dodać znak spacji jako jeden ze znaków do przycięcia:

SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Wynik:

Result  
--------
SPECIALS

Więcej przykładów użycia TRIM() Aby przyciąć białe znaki z lewej i prawej strony ciągu, zobacz Jak usunąć wiodące i końcowe białe znaki w SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń dziwne znaki (A z kapeluszem) z kolumny varchar SQL Server

  2. Utwórz zadanie agenta programu SQL Server w Azure Data Studio

  3. Milisekundy w moim DateTime zmieniają się, gdy są przechowywane w SQL Server

  4. Jak działa funkcja QUOTENAME() w programie SQL Server (T-SQL)

  5. Czy MAMP powinien zwrócić ::1 jako IP na hoście lokalnym?