it-swarm.com.de

So entfernen Sie bestimmte Zeichen aus Zeichenfolgen in SQL

Ich habe eine Tabelle mit einer Spalte. Ich möchte einen Teil einiger Zeichenfolgen in der Spalte ändern.

Eingabe

6 | Treiberhandbücher

BH-EB531

TRST-BACMN-

Gewünschte Ausgabe

Treiberhandbücher

BH-EB531

TRST-BACMN

Unten war der Code, dessen Ausführung ich müde war

 select REPLACE(REPLACE(COL, '6|', ''),'-','') FROM Table

Ausgabe

Treiberhandbücher

BHEB531

TRSTBACMN

das Skript muss '6 |' entfernen. und letztes Zeichen nur, wenn es '-' war

Kann mir jemand helfen, die gewünschte Leistung zu erzielen?

2
heye
SELECT (
        REPLACE
                (CASE 
                    WHEN RIGHT (COL, 1) = '-' 
                        THEN LEFT(COL, LENGTH(COL) - 1) 
                    ELSE COL
                END, '6|', ''
                )
        )   
FROM Table
2
SQLRaptor