sql >> Databáze >  >> RDS >> Sqlserver

SQL:odstraňte poslední čárku v řetězci

Pomocí REVERSE a 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

Nejprve chcete TRIM vaše data, abyste se zbavili mezer na začátku a na konci. Poté REVERSE a zkontrolujte, zda je první znak , . Pokud ano, odstraňte jej, jinak nedělejte nic. Poté REVERSE to zase zpátky. První znak můžete odstranit pomocí STUFF(string, 1, 1, '') .

SQL Fiddle



  1. Chyba MySQL na CREATE TABLE pro vztah many-to-many

  2. Co v MySQL znamená Overhead, co je na tom špatného a jak to opravit?

  3. Poznámky k indexům PostgreSQL B-stromu

  4. Kdy použít mysql_real_escape_string()