teradata:alpahanumeric&アルファベットのみのフィルタリング

私はそのような列の1つにデータを持っています

列データ:

1.A123BDG

2.ADGHKKL

3.12HJKLL

4.78GHUBD

5.GHJKUIP

6.KGJHGJG

今私は、そのような方法でデータをフィルタリングしなければなりません。これは、英数字とアルファハーベットのみを検出します。

選択する

  case when 
          then column_data
          end column1 ,
  case when 
          then column_data
         end  column2 

source_tableから

列1のデータは

1.A123BDG

3.12HJKLL

4.78GHUBD

列2のデータは

2.ADGHKKL

5.GHJKUIP

6.KGJHGJG

anyone could help me by writing the the conditions for filtering alphanumeric & alphabets

前もって感謝します

0
nl ru de
ええ、それは正規表現をサポートしています
追加された 著者 user2020436,

1 答え

Regex_INSTR(Column,'[[:digit:]]') will return the position of the first digit in a character string so you could use it to determine, if your string (or a record field value passed as a parameter to the function) contains digits. Transferring this to your example, it would look like:

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

Note that it's not the best example you're giving, as there isn't any need to do double selections and you could simply use CASE WHEN THEN ELSE END block instead.

2
追加された
ありがとう、定期的なエクスポーションを使用せずに同じクエリを与えることができます
追加された 著者 user2020436,