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

n番目の部分文字列を抽出します

    REGEX_SUBSTRの4番目のパラメーター はoccurenceと呼ばれます 。各列に表示するオカレンスを設定するだけです:

    CREATE TABLE T (id varchar2(30));
    INSERT INTO T VALUES ('0234-RDRT-RS111-M-EU');
    INSERT INTO T VALUES ('0234-RDRT-RSD123-M-EU');
    
    SELECT regexp_substr(id,'[^-]+',1,1) as col1,
           regexp_substr(id,'[^-]+',1,2) as col2,
           regexp_substr(id,'[^-]+',1,3) as col3,
           regexp_substr(id,'[^-]+',1,4) as col4,
           regexp_substr(id,'[^-]+',1,5) as col5
      FROM t;
    
    COL1    COL2    COL3    COL4    COL5
    0234    RDRT    RS111   M   EU
    0234    RDRT    RSD123  M   EU
    

    REGEX_SUBSTRを参照してください。 詳細については、Oracleのドキュメントを参照してください。



    1. サブクエリとマルチテーブル

    2. 1つの列に最大値を持つ行を選択するSQLクエリの記述方法

    3. FIFO/キューとしてのMySQLテーブル

    4. MYSQLは、サブクエリで検索するために「WHERE」句で「LIKE」を使用します