[오라클] to_number 함수 오류 처리
뭐.. 따로 방법이 없더군요. 그냥 정규식을 써서 처리해 봤습니다. select a, b, decode(REGEXP_REPLACE(trim(b), '^-?[0-9]+((\.[0-9]+)([Ee][+-][0-9]+)?)?', ''), null, '숫자', '문자') flag, decode(REGEXP_REPLACE(trim(b), '^-?[0-9]+((\.[0-9]+)([Ee][+-][0-9]+)?)?', ''), null, to_number(trim(b))) val from (select 1 a, '1234' b from dual union select 2 a, '-1.234E+04' b from dual union select 3 a, '1.234E+04' b from dual union select ..
더보기
[오라클] 여러로우의 값을 하나의 컬럼으로 바꾸는 방법[2]
전에 xml을 사용하여 sys_conect_by 보다 효율적으로 여러로우의 컬럼 값을 합하는 방법을 알려드린 적이 있다. 헌데 여기에 약간에 문제가 있는데 값의 중복과 널값 배제문제다. GBN VAL A 001 A 001 A 003 A 004 A 005 A 011 B 007 B 004 B 004 B 010 C 011 C C 002 C 003 만약 위와 같은 데이터를 갖고 있는 테이블에서 SELECT gbn, substr(xmlagg(xmlelement(a,',' || val) order by val).extract('//text()'), 2) val FROM lis.testt GROUP BY gbn 위와 같은 쿼리를 돌리면 결과가 GBN VAL A 001,001,003,004,005,011 B 004,0..
더보기