sql >> データベース >  >> RDS >> Sqlserver

文字列の最初または最後の文字である場合にのみ、文字列から特定の文字を削除する方法。

    そのような「トリミング」コンマに対処する 1 つの方法は、CASE を使用することです。 ステートメント:

    CASE
        WHEN str LIKE ',%,' THEN SUBSTRING(str, 2, LEN(str)-2)
        WHEN str LIKE ',%'  THEN RIGHT(str, LEN(str)-1)
        WHEN str LIKE '%,'  THEN LEFT(str, LEN(str)-1)
        ELSE str
    END
      

    これは一目瞭然です:CASE ステートメントは 3 つの状況を考慮します -

    • 文字列 str の場合 両側にカンマがあります
    • 文字列 str の場合 カンマで始まり、カンマで終わらない
    • 文字列 str の場合 コンマで終わりますが、カンマで始まりません

    最初のケースでは、最初と最後の文字が削除されます。 2 番目のケースでは、一番左の文字が削除されます。最後の場合、末尾の文字は削除されます。

    sqlfiddle のデモ



    1. Node.jsを使用してHTMLテーブルにmysqlを表示します

    2. make_timestamptz()がPostgreSQLでどのように機能するか

    3. SQL Serverデータベースにauto_increment主キーを追加するにはどうすればよいですか?

    4. Laravel4で結合された一意のフィールドバリデータールールを追加する方法