среда, 1 февраля 2017 г.

Oracle - check last symbol in column

Задача:

Проверить, является ли последний символ значений из заданного столбца цифрой.

 решение для Oracle через regexp. 

 SELECT col,
       CASE
       WHEN col IS NULL THEN NULL
       ELSE CASE
         WHEN REGEXP_LIKE( substr(col, -1), '^[0-9]+$') THEN 'Numeric'
         ELSE 'Char'
         END
       END data_type
  FROM
  (select '23232a3s2' col from dual);