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

Oracle SQL:regexp_substrを使用して文字列の最初の行を返します

    Paradoの正規表現は、コンマ以外のすべてに複数回一致し、その後にキャリッジリターンが続きます。これは、改行やテキストにカンマが含まれている場合は機能しないことを意味します。

    Oracleは、mを使用した複数行の式をサポートしています。 一致パラメーター 。このモードを使用する場合、$ 各行の終わりと文字列の終わりに一致します。これを使用して、式を次のように大規模に単純化できます。

    regexp_substr(str, '.*$', 1, 1, 'm')
    

    これは、何かに一致する文字列の最初の出現箇所(最初の行)に一致し、その後に最初の文字から数えて文字列の終わりが続きます。

    例として:

    with strings as ( 
     select 'hi
             hi again' as str
       from dual
      union all
     select 'bye
             and again'
       from dual
            )
     select regexp_substr(str, '.*$', 1, 1, 'm')
       from strings
    


    1. 2PL、厳密なモデルと厳密なモデル、何か利点はありますか?

    2. MySQLソケットは、何千もの連続した接続の後に接続を拒否します

    3. 表の水平値をOracleデータベース内の別の表の垂直値にバインドする方法

    4. ルートパスワードをnullに設定する方法