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

文字列内の文字をソートするPostgresql関数

    このような機能を備えたネイティブ関数はありませんが、regexp_split_to_tableを使用できます。 このようにするには:

    select theword 
      from (select regexp_split_to_table('banana',E'(?=.)') theword) tab 
     order by theword;
    

    結果は次のようになります:

    theword
       a
       a
       a
       b
       n
       n
    

    この(?=.) 文字を区切り文字として残して、文字ごとに分割します。また、スペースを識別します。スペースを含む単語があり、それ(スペース)が不要な場合は、E'(\\s*)'を使用します。 任意の空白文字に一致します。 Eが何だったか思い出せない 意味。できるだけ早く回答を検索して編集します。

    DOC で説明されているように セクション「regexp_split_to_table」

    編集:私が言ったように:Eの意味 文字列の前にここに表示されます:「 Postgres文字列の前にE"?




    1. Postgresql 11:ストアドプロシージャ呼び出しエラー-プロシージャを呼び出すには、CALL、Javaを使用します

    2. SQL、クエリビルダー、およびORMの比較

    3. 整数のPostgreSQLLIKE

    4. 実行されたクエリの数を数える