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

テキストの選択に応じてフィールドの値を連結する Oracle SQL

    文字列比較の正しい演算子は LIKE です。 VARCHAR2 だけでなく、CLOB でも機能することに注意してください。

    以下の例では、1 つの特定のメソッドを使用して、その場で入力文字列のテーブルを作成します。他にもいくつかの方法があります - 使い慣れた方法を使用してください。

    with
         a_x ( a, b ) as (
           select to_clob('atveroeosipsumloremipsumdolor'), 1 from dual union all
           select to_clob('stetclitakasdtest')            , 2 from dual union all
           select to_clob('noseatakimataatveroeosipsum')  , 3 from dual union all
           select to_clob('loremipsumdolor')              , 4 from dual union all
           select to_clob('consetetursadipscingelitr')    , 5 from dual
         ),
         input_strings ( str ) as (
           select column_value
           from   table ( sys.odcivarchar2list ( 'atveroeosipsum', 'test', 'stetclitakasd',
                                                 'noseatakimata', 'loremipsumdolor',
                                                 'consetetursadipscingelitr'
                                               )
                        )                    
         )
    select   t2.str, listagg(t1.b, ',') within group (order by t1.b) as ids
    from     a_x t1 
             join input_strings t2 on t1.a like '%' || t2.str || '%'
    group by t2.str
    ;
    
    STR                        IDS
    -------------------------  ---
    atveroeosipsum             1,3
    consetetursadipscingelitr  5
    loremipsumdolor            1,4
    noseatakimata              3
    stetclitakasd              2
    test                       2
    



    1. PHPを使用して複数のMYSQLクエリを実行する

    2. カーソルを使用して部門名を表示します。PL/SQLブロックを作成して、カーソルを使用してDepartment表からすべての部門名を表示します

    3. カウントのMYSQLカウント?

    4. はい、別のMySql:エラー1045(28000):ユーザー'root' @'localhost'のアクセスが拒否されました(パスワードを使用:YES)