0

次のような列の1つにデータがあります

列データ:

1.A123BDG

2.ADGHKKL

3.12HJKLL

4.78GHUBD

5.GHJKUIP

6.KGJHGJG

ここで、英数字とアルファベットのみを検出するようにデータを除外する必要があります

選択する

  case when <condition for detecting alphanumneric>
          then column_data
          end column1 ,
  case when <condition for detecting alphabets>
          then column_data
         end  column2 

source_table から

column1 のデータは

1.A123BDG

3.12HJKLL

4.78GHUBD

column2 のデータは

2.ADGHKKL

5.GHJKUIP

6.KGJHGJG

英数字とアルファベットをフィルタリングするための条件を書くことで、誰でも私を助けることができます

前もって感謝します

4

1 に答える 1

2

Regex_INSTR(Column,'[[:digit:]]')は文字列の最初の桁の位置を返すので、それを使用して、文字列 (または関数にパラメーターとして渡されたレコード フィールド値) に数字が含まれているかどうかを判断できます。これを例に移すと、次のようになります。

case when Regex_INSTR(Column,'[[:digit:]]') > 0
          then column_data
          end column1 ,
  case when Regex_INSTR(Column,'[[:digit:]]') <= 0
          then column_data
         end  column2 

CASE WHEN <contains_numerals> THEN <do_something> ELSE <do_something_else> END二重選択を行う必要はなく、代わりに単純にブロックを使用できるため、これはあなたが示している最良の例ではないことに注意してください。

于 2013-01-29T05:52:40.117 に答える