PostgreSQLで文字列の最後の文字を置き換えるにはどうすればよいですか?

ポリアーノマティーニ

PostgreSQL11では...

次の4つのブールフィールドを持つ「person」テーブルがあります。


---------
ユーザー
従業員
サプライヤー
顧客

ここで、システム内の人のルールでフォーマットされたテキストをクエリで返したいと思います。例えば:

その人が単なる顧客である場合は、「customer」を返します。

がサプライヤーと顧客の場合、「サプライヤーと顧客」を返します。

が従業員、サプライヤー、および顧客の場合: '従業員、サプライヤー、および顧客'

まず、列を確認し、CASEを使用して対応するテキストを返します。次に、「concat_ws」関数を使用して、次のように、価値のあるものだけを取得しました。

SELECT
    concat_ws(', ',
        CASE WHEN user THEN 'user' END,
        CASE WHEN employee THEN 'employee' END,
        CASE WHEN supplier THEN 'supplier' END,
        CASE WHEN customer THEN 'customer' END
    ) AS rules
FROM
    person

結果: '顧客' 'サプライヤー、顧客'従業員、サプライヤー、顧客 '

これでほぼ結果が得られましたが、値が複数ある場合は、最後に「and」を連結する必要があります。

誰かが解決する方法やより友好的な方法を知っていますか?

GMB

1つの解決策は、式をでラップすることです。 regexp_replace()

regexp_replace(
    concat_ws(', ',
        CASE WHEN user THEN 'user' END,
        CASE WHEN employee THEN 'employee' END,
        CASE WHEN supplier THEN 'supplier' END,
        CASE WHEN customer THEN 'customer' END
    ),
    ', (\w+)$',
    'and \1'
)

コンマの最後のシーケンスのための正規表現検索では、可変語文字の数(およびキャプチャ、それ)が続くとに置き換えし、捕獲言葉が続きます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

最後に置き換えられた文字列を削除するにはどうすればよいですか?

分類Dev

sedを使用して、文字列内の最後に出現する文字を置き換えるにはどうすればよいですか?

分類Dev

特定の文字列を別の文字列に置き換えるにはどうすればよいですか?

分類Dev

SQLServerで文字列の最後のコンマを「and」に置き換えるにはどうすればよいですか

分類Dev

文字列の最後にスペースが付いている値を置き換えるにはどうすればよいですか?

分類Dev

文字列のすべての文字を置き換えるにはどうすればよいですか?

分類Dev

文字列内の文字の出現を数字に置き換えるにはどうすればよいですか?

分類Dev

JavaScript RegExpを使用して、文字列の最後の出現を置き換えるにはどうすればよいですか?

分類Dev

文字列内の各部分文字列を置き換えるにはどうすればよいですか?

分類Dev

文字列内の複数の文字を置き換えるにはどうすればよいですか?

分類Dev

文字列内の特定の文字を置き換えるにはどうすればよいですか?

分類Dev

1文字を空の文字列に置き換えるにはどうすればよいですか

分類Dev

Python:文字列を置き換えずに2つの文字列の間のすべてを置き換えるにはどうすればよいですか?

分類Dev

列の内容を特定の文字列に置き換えるにはどうすればよいですか?

分類Dev

Pythonで配列内の文字列を置き換えるにはどうすればよいですか?

分類Dev

2D配列の特定の文字列を置き換えるにはどうすればよいですか?

分類Dev

Pandas DataFrame内で文字列を特定の値に置き換えるにはどうすればよいですか?

分類Dev

特定の部分文字列の後に文字列の一部を置き換えるにはどうすればよいですか

分類Dev

文字列のすべての一致を置き換えるにはどうすればよいですか?

分類Dev

値をその値の部分文字列に置き換えるにはどうすればよいですか?

分類Dev

Javaでテキスト内の文字列を置き換えるにはどうすればよいですか?

分類Dev

PHPで文字列の一部を置き換えるにはどうすればよいですか?

分類Dev

SQLで文字列の `'`を置き換えるにはどうすればよいですか?

分類Dev

react-nativeでTextInputの文字列を置き換えるにはどうすればよいですか?

分類Dev

多次元配列内の文字列を置き換えるにはどうすればよいですか?

分類Dev

Pythonのpathlib.Pathの部分文字列を置き換えるにはどうすればよいですか?

分類Dev

javascriptの引用符内の文字列を置き換えるにはどうすればよいですか?

分類Dev

Bash:前のコマンドの文字列を置き換えるにはどうすればよいですか?

分類Dev

Logstashのフィールドの文字列を置き換えるにはどうすればよいですか

Related 関連記事

  1. 1

    最後に置き換えられた文字列を削除するにはどうすればよいですか?

  2. 2

    sedを使用して、文字列内の最後に出現する文字を置き換えるにはどうすればよいですか?

  3. 3

    特定の文字列を別の文字列に置き換えるにはどうすればよいですか?

  4. 4

    SQLServerで文字列の最後のコンマを「and」に置き換えるにはどうすればよいですか

  5. 5

    文字列の最後にスペースが付いている値を置き換えるにはどうすればよいですか?

  6. 6

    文字列のすべての文字を置き換えるにはどうすればよいですか?

  7. 7

    文字列内の文字の出現を数字に置き換えるにはどうすればよいですか?

  8. 8

    JavaScript RegExpを使用して、文字列の最後の出現を置き換えるにはどうすればよいですか?

  9. 9

    文字列内の各部分文字列を置き換えるにはどうすればよいですか?

  10. 10

    文字列内の複数の文字を置き換えるにはどうすればよいですか?

  11. 11

    文字列内の特定の文字を置き換えるにはどうすればよいですか?

  12. 12

    1文字を空の文字列に置き換えるにはどうすればよいですか

  13. 13

    Python:文字列を置き換えずに2つの文字列の間のすべてを置き換えるにはどうすればよいですか?

  14. 14

    列の内容を特定の文字列に置き換えるにはどうすればよいですか?

  15. 15

    Pythonで配列内の文字列を置き換えるにはどうすればよいですか?

  16. 16

    2D配列の特定の文字列を置き換えるにはどうすればよいですか?

  17. 17

    Pandas DataFrame内で文字列を特定の値に置き換えるにはどうすればよいですか?

  18. 18

    特定の部分文字列の後に文字列の一部を置き換えるにはどうすればよいですか

  19. 19

    文字列のすべての一致を置き換えるにはどうすればよいですか?

  20. 20

    値をその値の部分文字列に置き換えるにはどうすればよいですか?

  21. 21

    Javaでテキスト内の文字列を置き換えるにはどうすればよいですか?

  22. 22

    PHPで文字列の一部を置き換えるにはどうすればよいですか?

  23. 23

    SQLで文字列の `'`を置き換えるにはどうすればよいですか?

  24. 24

    react-nativeでTextInputの文字列を置き換えるにはどうすればよいですか?

  25. 25

    多次元配列内の文字列を置き換えるにはどうすればよいですか?

  26. 26

    Pythonのpathlib.Pathの部分文字列を置き換えるにはどうすればよいですか?

  27. 27

    javascriptの引用符内の文字列を置き換えるにはどうすればよいですか?

  28. 28

    Bash:前のコマンドの文字列を置き換えるにはどうすればよいですか?

  29. 29

    Logstashのフィールドの文字列を置き換えるにはどうすればよいですか

ホットタグ

アーカイブ