sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:elimina la última coma en la cadena

Usando REVERSE y 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

Primero, desea TRIM sus datos para deshacerse de los espacios iniciales y finales. Entonces REVERSE y verifique si el primer carácter es , . Si es así, elimínelo, de lo contrario no haga nada. Entonces REVERSE de nuevo. Puede eliminar el primer carácter usando STUFF(string, 1, 1, '') .

SQL Fiddle