본문 바로가기
728x90
반응형

oracle12

[Oracle] 윤년/평년 구하기 CREATE FUNCTION SF_GET_LEAPYEAR ( iYEAR VARCHAR2, -- 년도 ) RETURN VARCHAR2 IS RET_NAME BOOLEAN; BEGIN RET_NAME := ''; /* - 윤년 구하는 방법 - 특정연도를 4로 나누었을때 나누어 떨어지면 그 해는 일단, 윤년. 그러나 100으로 나누었을때 나누어 떨어진다면 4로 나누어 떨어진다고 해도 그 해는 평년. 그리고 마지막으로 400으로 나누어 떨어진다면 100으로 나누어 떨어진다고 해도 윤년. */ CASE WHEN (MOD(iYEAR, 4) = 0 AND MOD(iYEAR, 100) 0) OR (MOD(iYEAR, 400) = 0) THEN RET_NAME := TRUE; --'LEAP YEAR' ELSE RET_N.. 2024. 2. 23.
[Oracle] 테이블 중복값 중에 최신값 가져오는 방법 데이터를 추출하기 위해 여러 값중 최대값 OR 최소값을 구할 경우가 있다. 여러가지 방법으로 구할수도 있지만 아래와 같은 방법으로도 데이터를 추출 할 수 있으니 참고 하면 좋을것 같다. --Sample data /* [ 일자 ][ 이름 ][ 점수 ] 20240101 TEST 10 20240102 TEST 11 20240103 TEST 12 20240104 TEST 13 20240101 TTTT 5 20240102 TTTT 8 20240103 TTTT 1 20240109 TTTT 0 */ SELECT 이름 ,MAX(일자) AS 일자 ,SUBSTR(MAX(일자||'*'||점수),INSTR(MAX(일자||'*'||점수),'*')+1) AS 점수 FROM SAMPLE_TABLE GROUP BY 이름 --결과 [.. 2024. 2. 23.
오라클 문자열 자르기 컬럼 구분값 자르기 컬럼의 구분값으로 열로 변환(?) 하기 위해서 아래와 같이 정규식을 통해 문자열을 자를수 있습니다. 문자열 자르기 SELECT REGEXP_SUBSTR(FULL_PATH,'[^,]+', 1, 1) AS STR1 ,REGEXP_SUBSTR(FULL_PATH,'[^,]+', 1, 2) AS STR2 ,REGEXP_SUBSTR(FULL_PATH,'[^,]+', 1, 3) AS STR3 ,REGEXP_SUBSTR(FULL_PATH,'[^,]+', 1, 4) AS STR4 FROM( SELECT '메뉴,메뉴1,메뉴2,메뉴3' AS FULL_PATH ) 출력 STR1 STR2 STR3 STR4 메뉴 메뉴1 메뉴2 메뉴3 * 참고 https://gent.tistory.com/459 [Oracle] 오라클 문자열 구분.. 2023. 4. 24.
오라클 Instance Name 조회 하기 SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE; 2023. 3. 17.
오라클 GREATEST, LEAST 함수 - 최대값 최소값 https://gent.tistory.com/332 [Oracle] 오라클 GREATEST, LEAST 함수 사용법 및 주의사항 오라클에서 GREATEST 함수는 최대값, LEAST 함수는 최소값을 반환하는 함수이다. MAX, MIN 함수와 차이점은 서로다른 컬럼의 값을 비교한다는 것이다. 같은 행(Row)에서 서로다른 컬럼의 값을 비교하여 gent.tistory.com 2022. 11. 25.
Oracle 특정컬럼 및 테이블 정보 조회하기 특정 컬럼 테이블 조회 /*전체 테이블에서 특정컬럼을 사용하는테이블 조회 하기*/ SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME='조회컬럼' ORDER BY TABLE_NAME; 테이블 Comment 조회 /* 테이블 Comment 조회 하기*/ SELECT * FROM all_tab_comments WHERE table_type = 'TABLE' AND table_name = '테이블명' 2022. 10. 28.
시퀀스 조회 및 삭제 시퀀스 조회하기 SELECT SEQUENCE_OWNER,SEQUENCE_NAME,dbms_metadata.get_ddl('SEQUENCE',A.SEQUENCE_NAME,A.SEQUENCE_OWNER) FROM ALL_SEQUENCES A WHERE SEQUENCE_OWNER IN ('SCCOT'); 시퀀스 삭제하기 DROP SEQUENCE [시퀀스명] 2022. 10. 14.
Oracle SQL Developer를 이용함 Export/Import 방법 http://it-archives.com/221043275638/ SQLDeveloper DB Import/Export 방법 – 흑곰의 유익한 블로그 2호점 SQLDeveloper DB Import/Export 방법 Export는 데이터 추출이고 Import는 데이터 대입/삽입이다. Export는 생략하고 Import 에 대해서만 설명하겠다. 어차피 쓰는 메뉴가 비슷하다. 1. 보기 – DBA 를 선택해서 DBA it-archives.com * Import 시 DB폴더경로 확인방법 SELECT * FROM DBA_DIRECTORIES; 2022. 10. 7.
[ORACLE]사용자 및 권한 조회 하기 --1. 사용자에게 부여된 시스템 권한 확인 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = '사용자명'; --2. 사용자에게 부여된 롤 확인(시스템 권한이 롤에 포함됨) SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = '사용자명'; --3. 사용자에게 부여된 롤에 부여된 시스템 권한 확인 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = '롤명'; --4. 타 사용자에게 부여한 객체(테이블등)권한 확인 SELECT * FROM DBA_TAB_PRIVS WHERE OWNER = '테이블소유자명'; SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = '권한부여자명'; 권한 부여 --1. 테.. 2022. 7. 20.
Oracle XML 데이터 파싱 오라클에서 XML 데이터를 파싱 하여 입력 하는 예제 XML 형식 천리안 예제 테이블 생성 CREATE TABLE XML_TABLE( SEQ NUMBER(10), XML_DATE VARCHAR2(4000), PRIMARY KEY(SEQ) ) XML 데이터 입력 INSERT INTO XML_TABLE VALUES ( 1, '천리안' ) XML 파싱해서 조회 SELECT A.XML_DATA ,B.NAME ,B.VALUE FROM XML_TABLE A ,XMLTABLE('/tests/data' PASSING XMLTYPE(A.XML_DATA) COLUMNS NAME VARCHAR2(50) PATH '@name', VALUE NUMBER PATH '.' )B 2022. 7. 12.
[ORACLE] DECODE 와 CASE활용 방법 DECODE DECODE는 IF문과 같습니다. SELECT DEPT, DECODE( DEPT, 'A팀' ,SUM(SAL), 'B팀' ,MAX(SAL), MIN(SAL)) FROM EMP GROUP BY DEPT ORDER BY DEPT 위와같은 방법으로 조회를 하게 되면, DEPT 'A팀'은 합계값, B팀은 MAX값 , 그외는 MIN값이 출력됩니다. CASE CASE문은 IF ~ TEHN ~ ELSE ~ END 의 프로그래밍 언언처럼 조건문을 사용할 수 있습니다. SELECT CASE WHEN DEPT= 'A팀' THEN SUM(SAL) WHEN DEPT = 'B팀' THEN MAX(SAL) ELSE MIN(SAL) END FROM EMP 2021. 11. 5.
PL/SQL Developer 데이터 엑셀 업로드 PL/SQL Developer 프로그램에서 엑셀 업로드를 하기위해서는 아래 메뉴로 이동해야 합니다. 메뉴 : Tools > Text Importer 우선 데이터를 업로드 하기전에 Excel 에 내용을 csv 확장자로 변경해주어야 [ , ] 쉼표로 데이터를 구분 되도록해 오라클에서 처리를 해주게 됩니다. CSV로 만든데이터를 업로드 하게되면 아래와 같이 업로드를 확인할 수 있습니다. 업로드가 완료가되면 내용을 확인 하고 두번째 탭으로 넘어 가 Owner 및 테이블 각 필드별 컬럼등을 매칭 후 Import 하면 됩니다. 2021. 10. 28.
728x90
반응형