문자열 , 혹은 $로 문자 구분하여 행으로 전화
SELECT REGEXP_SUBSTR('A,B,C$D', '[^,$]+', 1, LEVEL ) AS DATA
FROM DUAL
CONNECT BY REGEXP_SUBSTR('A,B,C$D', '[^,$]+', 1, LEVEL ) IS NOT NULL
문자열 , 혹은 $로 문자 구분하여 행으로 전화
SELECT REGEXP_SUBSTR('A,B,C$D', '[^,$]+', 1, LEVEL ) AS DATA
FROM DUAL
CONNECT BY REGEXP_SUBSTR('A,B,C$D', '[^,$]+', 1, LEVEL ) IS NOT NULL
테이블 A(피벗기준정보테이블),B(데이터테이블)
SELECT
묶어서 보여줄 B내용들,
LISTAGG(A컬럼 및 B관련표기내용) WITHIN GROUP (ORDER BY A에 있는 표기순번) AS VALUE --A컬럼 및 B관련표기내용 : A.a,A.b,B.a,B.b 등등을 문자열로 묶어서...
FROM A,B
PARTITION BY (ROW에 묶어서 보여줄 B컬럼들) ON A.컬럼=BB.컬럼
GROUP BY ROW에 묶어서 보여줄 B컬럼들
ORDER BY B컬럼에 의한 ROW순번;
getURL로 해당 function호출시에 frame내에서 제대로 호출이 되질 않았다.
열심히 검색해보다 찾으니 getURL대신에 다음을 사용.
on(release) {
flash.external.ExternalInterface.call("함수()");
}
OK......또 해결...
dump하면서 insert문으로 뽑아놨는데....
파일이 너무 커서 에디트프로그램으로도 열리지 않아 검색....
sqlplus로 해당 DB접속 후,
SQL>@C:\경로명\파일명
잘만 들어가는 중...
--isnumeric 선행
CREATE OR REPLACE FUNCTION ERR_CHECK (p_value IN VARCHAR2,n_check IN VARCHAR2,l_check NUMBER,c_check VARCHAR2,d_check VARCHAR2) RETURN VARCHAR2
--p_value : 입력 데이터 값
--체크는 아래의 순서대로 먼저 체크하고 에러가 있을시 이후는 체크안하게 됨.
--n_check : NULL체크 (체크시 'Y'로 : NULL일 경우 :'N'리턴)
--l_check : 최대 길이체크(체크시 허용최대길이로, 0일시 미체크 : 초과시 'L허용길이'리턴)
--c_check : CODE체크 (코드로 체크시 'C'+코드CD로, 코드값으로 체크시 'N'+코드CD로, 미체크시 '!'로: 매칭이 안될 경우 :'C'리턴)
--d_check : 숫자여부체크(체크시 'Y'로 : 숫자가 아닐시 'D'리턴)
AS
p_cd VARCHAR2(255);
p_nm VARCHAR2(255);
p_gubun varchar2(1);
BEGIN
IF n_check='Y' THEN
IF p_value IS NULL THEN RETURN 'N'; END IF;
END IF;
IF l_check<>0 THEN
IF LENGTHB(NVL(p_value, ' '))>L_CHECK THEN RETURN 'L'||l_check ; END IF;
END IF;
IF c_check<>'!' THEN
p_gubun:=substr(c_check,1,1);
p_cd:='';
p_nm:='';
IF p_gubun='C'
THEN
SELECT /*+INDEX_DESC(B CODE_SUB_PK_)*/ NVL(MAX(CD),'!F') INTO p_cd FROM CODE_SUB B WHERE B.NO=substr(C_CHECK,2) AND B.CD=TRIM(p_value);
END IF;
IF p_gubun='N'
THEN
SELECT /*+INDEX_DESC(B CODE_SUB_PK_)*/ NVL(MAX(CD),'!F') INTO p_nm FROM CODE_SUB B WHERE B.NO=substr(C_CHECK,2) AND B.CD_NM1=TRIM(p_value);
END IF;
IF (p_gubun='C' and p_cd='!F') or (p_gubun='N' and p_nm='!F') THEN RETURN 'C';
END IF;
END IF;
IF d_check='Y' THEN
IF ISNUMERIC(NVL(p_value,0))=0 THEN RETURN 'D'; END IF;
END IF;
RETURN 'T';
EXCEPTION
WHEN OTHERS THEN
RETURN 'E';
END;
/
CREATE OR REPLACE FUNCTION ISYYYYMMDD (p_date IN VARCHAR2,p_gubun IN VARCHAR2) RETURN NUMBER
--p_date : 입력받는 문자열, p_gubun : 날짜구분형식(-이면 2011-03-28)
AS
l_tst date;
BEGIN
l_tst := to_date(p_date,'YYYY'||p_gubun||'MM'||p_gubun||'DD');
if REGEXP_REPLACE(p_date,'[0-9][0-9][0-9][0-9]'||p_gubun||'[0-9][0-9]'||p_gubun||'[0-9][0-9]','Y')='Y' then
RETURN 1;
else
RETURN 0;
end if;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
/