Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie ersetze ich das erste und letzte Zeichen der Spalte in SQL Server?

Sie können SUBSTRING verwenden dafür:

SELECT
    SUBSTRING(col, 2, LEN(col)-2)
FROM ...

Ein noch besserer Ansatz wäre natürlich, dort gar keine führenden und abschließenden Kommas zu setzen, wenn dies möglich ist.

Der Ausdruck wird etwas komplexer, aber die Idee bleibt dieselbe:

SELECT SUBSTRING(
    col
,  CASE LEFT(@col,1) WHEN ',' THEN 2 ELSE 1 END
,  LEN(@col) -- Start with the full length
             -- Subtract 1 for comma on the left
      - CASE LEFT(@col,1) WHEN ',' THEN 1 ELSE 0 END 
             -- Subtract 1 for comma on the right
      - CASE RIGHT(@col,1) WHEN ',' THEN 1 ELSE 0 END
)
FROM ...