web-dev-qa-db-ja.com

SQLの文字列から特定の文字を削除する方法

列のあるテーブルがあります。列の一部の文字列の一部を変更したい。

入力

6 |ドライバーマニュアル

BH-EB531

TRST-BACMN-

必要な出力

ドライバーマニュアル

BH-EB531

TRST-BACMN

以下は実行に疲れたコードです

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

出力

ドライバーマニュアル

BHEB531

TRSTBACMN

スクリプトは「6 |」を削除する必要があります最後の文字は「-」の場合のみ

誰でも私が望ましい出力を達成するのを助けることができますか

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