안녕하세요. 인포믹스에서 문자열을 구분자로 나누는 regex_split 함수 기능을 테스트 해봤습니다. SQL 구문은 아래와 같이 사용합니다. select * from table(function regex_split('SMITH,ALLEN,WARD,JONES',',')) as list (name); name SMITH name ALLEN name WARD name JONES 처음 regex_split 함수를 호출하면 datablade 모듈이 설치되는 것을 online 로그 메시지에서 확인할 수 있습니다. 08/02/19 16:42:52 INFO (autoregexe 5) (EXECUTE FUNCTION sysbldprepare ('ifxregex.*', 'create')) 08/02/19 16:42:52..

안녕하세요. 인포믹스에는 과거 7.31 버전부터 분산을 계산하는 함수를 제공해왔습니다. 다른 DBMS에도 대부분 기본적으로 제공되는데 차이점을 비교해보고자 합니다. 인포믹스 7.31의 매뉴얼을 살펴보면 VARIANCE를 계산하는 공식이 설명되어 있습니다. variance of the population이라고 설명하고 있는데요. 우리나라 수학 용어로는 '모분산'이라고 합니다. 모분산을 계산할 때는 데이터의 갯수(N)만큼을 나누게 되지만 여기서는 N-1로 나눈다고 나와있습니다. 이 내용은 현재 인포믹스의 최신 버전인 14.1에서도 동일하게 설명되어 있습니다. 내용이 잘못된 것인지 이런 계산식으로 써도 문제가 없는 것인지는 잘 모르겠습니다. 어쨌든 DBMS마다 분산을 계산하는 함수가 다른 것 같습니다. 제가 ..
안녕하세요. 인포믹스 12.1 이전 버전에는 RANK/DENSE_RANK 함수 기능이 제공되지 않습니다. 따라서 별도 프로그램을 사용해야 합니다. 인터넷을 검색해보니 변수 처리하거나 상호연관 서브쿼리 (Correlated sub-query)를 이용하는 방법이 일반적인 것 같습니다. 참고해서 인포믹스 SQL과 FUNCTION으로 구현해 보았습니다. -- 샘플 데이터 입력 DROP TABLE scores; CREATE TABLE scores ( id serial not null, score int not null ); INSERT INTO scores (score) VALUES (50); INSERT INTO scores (score) VALUES (40); INSERT INTO scores (score) ..
안녕하세요. 바로 아래 글에서 인포믹스에서 정규식 패턴 변경 함수인 REGEX_REPLACE 를 테스트했습니다. 대신 REGEX_REPLACE 함수는 인포믹스 12버전에서만 지원되기에 질문자 분이 12 이하 버전에서 가능한 방법을 다시 질문하셨더군요. 해당 쿼리를 다시 데이터베이스 사랑넷의 '마농'님께서 기본적인 문자열 함수를 사용해서 쿼리를 재작성하신 것으로 테스트해봤습니다. 먼저 Oracle 정규식 함수를 사용한 SQL입니다. WITH t AS ( SELECT '문자001' v FROM dual UNION ALL SELECT '문자열01' FROM dual UNION ALL SELECT '01문자001' FROM dual UNION ALL SELECT '121문자열01' FROM dual UNION ..
안녕하세요. 인포믹스에는 조건절에서 정규식을 사용해서 검색할 수 있는 MATCHES 키워드가 있습니다.정규식으로 검색한 패턴을 변경하는 오라클의 REGEXP_REPLACE에 해당하는 함수는 12버전부터 지원합니다. 데이터베이스 사랑넷에서 패턴 변경에 대한 문의 내용을 발견하여 인포믹스 환경에서 테스트 해봤습니다.아래는 질문하신 분이 올리신 글 내용입니다.컬럼 데이터가'문자001''문자열01''01문자001''121문자열01''문자002''문자003' 이런식으로... 복합접으로 들어가 있는 컬럼이 있는데요.. 이것을뒤에 001이라고 되어있는 숫자만.. 0001 로..자릿수를 맞춰야 합니다 그래서 결과가'문자0001'문자열0001'01문자0001'121문자열0001''문자0002''문자0003'이렇게 뒷자리..
오라클의 getxmltype 함수를 사용해서 테이블별 레코드수를 구하는 쿼리가 있더군요.인포믹스12 버전에서도 가능한지 테스트를 해보았습니다. 우선 오라클에서 getxmltype 함수를 사용한 예제입니다 SELECT table_name , num_rows -- 통계정보 건수 , TO_NUMBER( dbms_xmlgen.getxmltype('SELECT COUNT(*) c FROM ' || table_name).Extract('//text()') ) num_rows2 -- 실제측정 건수 FROM user_tables; 샘플 데이터인 SCOTT 계정에서 위와 같은 쿼리를 실행하면, 아래와 같은 결과를 보여줍니다. TABLE_NAME NUM_ROWS NUM_ROWS2------------------------..
- Total
- Today
- Yesterday