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

SQL:Entfernen Sie das letzte Komma in der Zeichenfolge

Mit REVERSE und STUFF :

SELECT
    REVERSE(
        STUFF(
            REVERSE(LTRIM(RTRIM(INETSHORTD))), 
            1, 
            CASE WHEN SUBSTRING((REVERSE(LTRIM(RTRIM(INETSHORTD)))), 1, 1) = ',' THEN 1 ELSE 0 END, 
            ''
        )
    )
FROM tbl

Zuerst möchten Sie TRIM Ihre Daten, um führende und nachgestellte Leerzeichen loszuwerden. Dann REVERSE es und prüfen Sie, ob das erste Zeichen , ist . Wenn ja, entfernen Sie es, sonst tun Sie nichts. Dann REVERSE es wieder zurück. Sie können das erste Zeichen entfernen, indem Sie STUFF(string, 1, 1, '') verwenden .

SQL-Fiddle