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

Usuń końcowe:znak z wiersza w tabeli SQL

Możesz użyć STUFF funkcja, która zastępuje części ciągu. W tym przypadku jest to ostatni znak.

UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''

Lub użyj LEWO, biorąc wszystko oprócz ostatniego. Warunek COL> '' zapewnia, że ​​LEFT będzie miał prawidłową długość. LEFT to skrót w SQL Server i wydaje się być zaimplementowany jako SUBSTRING ( patrz dalej poniżej)*

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''

Jeśli masz zarówno dane z końcowym średnikiem, jak i bez niego, możesz je specjalnie skierować

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'

Oto plan zapytania dla zapytania LEWO (pokazane są tylko 3 górne wiersze planu tekstu)

select LEFT(text, LEN(text)-1), * from master..syscomments


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja konwersji SQL podczas konwertowania daty i godziny na zmiennoprzecinkową?

  2. Typy kursorów programu SQL Server — Kursor ZESTAWU KLUCZY | Samouczek SQL Server / Samouczek TSQL

  3. Wyzwalacz historii tabeli w SQL Server?

  4. Jak włączyć SQL Server Agent XP za pomocą T-SQL?

  5. Wiele klauzul OUTPUT w poleceniach SQL MERGE/INSERT/DELETE?