1

関数や手順を使いたくありません。

文字列の各部分の存在を確認するための単純なselectクエリが必要です。

名前列を持つダミーのテーブルが1つあるように

                         Id     name 
                          1   as;as;as
                          2    asd;rt

と子テーブル

                       child_id       name
                          23           as
                          24           asd
                          25           rt

だから私はそれをすることができます

私は次のように試しました

select substr(first_name,1,instr(first_name,';')-1) from dummy;
select substr(first_name,instr(first_name,';')+1,instr(first_name,';')-1) 
                                                               from dummy;

これは、最初/ 2番目の部分だけを与えていますが、他の部分は他の部分を取得する方法を示しています

4

2 に答える 2

0

この質問についてもっと情報が必要です。1 つのフィールドだけで複数の可能な文字列を検出する必要があるかどうかはわかりません。

考えられる 3 つのシナリオに対して 3 つの like 句を使用できます。

  1. LIKE column_name ||'%;'
  2. '%;'|| のように column_name
  3. ';%'|| のように column_name ||'%;'

しかし、正規表現の構築についての将来の学習にはおそらくうまくいくでしょう。これは私を大いに助けたウェブページです:txt2re.com

于 2013-01-17T14:18:06.147 に答える
0

私が正しければ - 子供の名前が DUMMY.Name に含まれている場合は、これらのテーブルに参加する必要があります

SQLFiddle の例

select t1.*, 
       t2.child_id, 
        t2.name as t2name 
from t1
left join t2 on (';'||t1.name||';' like '%;'||t2.name||';%')
于 2013-01-17T14:06:42.370 に答える