Oracle9 [oracle] 도메인별 접속통계 구하기 (집계 함수 활용) --합계 OWITH parsed_visits AS ( SELECT REGEXP_SUBSTR(nvl(v_url,'직접'), '^(https?://)?([^/\\?]+)', 1, 1, NULL, 2) hn , COUNT(*) AS cnt FROM visiter GROUP BY ROLLUP(REGEXP_SUBSTR(nvl(v_url,'직접'), '^(https?://)?([^/\\?]+)', 1, 1, NULL, 2)))SELECT NVL(hn, '합계') AS hostname, cnt, ROUND(cnt / SUM(DECODE(hn, NULL, 0, cnt)) OVER () * 100, 1) AS rtrFROM parsed_visit.. 2024. 12. 20. oracle split 마지막 단어 찾기 (정규식) / 파일 확장자 찾기 oracle에서 특정 문자를 기준으로 split하여 마지막 단어를 찾는 쿼리이다.파일 확장자를 찾는데에 유용할 것으로 보인다.select REGEXP_SUBSTR('파일명(2024.11.29.).hwp','[^.]+$', 1, 1) AS str2from dual 결과는 아래와 같이 나온다. 2024. 11. 29. ORACLE 이번달 마지막 날짜 구하기 ORACLE에서 이번 달의 첫번째 날짜와 마지막 날짜를 구한다.첫번째 날은 당연히 1일일 것이며8월은 31일이, 9월은 30일이 나오도록 한다. 1. 현재 기준으로 구한 경우 SELECT SYSDATE, TRUNC(SYSDATE, 'MM') firstDay, LAST_DAY(TRUNC(SYSDATE)) lastDayFROM DUAL 2. 날짜를 지정한 경우 SELECT TRUNC(TO_DATE('20240920'), 'MM') firstDay, LAST_DAY(TRUNC(TO_DATE('20240920'))) lastDayFROM DUAL 끝. 2024. 8. 5. 오라클 tnsnames.ora 파일 위치 오라클 tnsnames.ora 파일 위치 찾기 cmd 에서 lsnrctl status 를 입력한다.lsnrctl status SNMP 파일 위치로 이동해보면 tnsnames.ora 파일이 있다. 참고로 리스너 로그 파일에서 로그 정보도 확인 가능 2024. 8. 1. 오라클 컬럼명을 자바 VO 변수 형식으로 출력 오라클 컬럼명을 자바 VO 변수 형식으로 출력 SELECT 'private ' || (CASE A.DATA_TYPE WHEN 'NUMBER' THEN 'int' WHEN 'DATE' THEN 'String' WHEN 'VARCHAR2' THEN 'String' WHEN 'CHAR' THEN 'String' WHEN 'CLOB' THEN 'String' ELSE '' END ) || ' ' || LOWER(SUBSTR(A.CAMEL_CASE,1, 1)) || SUBSTR(A.CAMEL_CASE,2) || ';'AS RESULT FROM ( SELECT COLUMN_NAME, DATA_TYPE, REPLACE(initcap(COLUMN_NAME),'_') AS CAMEL_CASE FROM ALL_TAB_CO.. 2023. 11. 10. ORACLE 문자열 자르기 / 정규식 / 공백처리 ORACLE 문자열 자르기 / 정규식 / 공백처리 ORACLE에서 정규식을 이용하여 문자열을 자르는 방법 REGEXP_SUBSTR SELECT '10|20||40|50' STR , REGEXP_SUBSTR('10|20||40|50','[^|]+',1,1) STR1 , REGEXP_SUBSTR('10|20||40|50','[^|]+',1,2) STR2 , REGEXP_SUBSTR('10|20||40|50','[^|]+',1,3) STR3 , REGEXP_SUBSTR('10|20||40|50','[^|]+',1,4) STR4 , REGEXP_SUBSTR('10|20||40|50','[^|]+',1,5) STR5 FROM DUAL REGEXP_SUBSTR을 사용하여 문자열을 구분할 수 있다. * REGEXP_.. 2023. 11. 6. [Oracle] Order by 1, 2, ... 구문의 의미와 사용 방법 [Oracle] Order by 1, 2,... 구문의 의미와 사용 방법 인수인계 받은 쿼리를 분석하던 중 아래의 구문을 발견하였다. "Order by 1, 2, 3 desc, 4" 이는 직관적으로 이해할 수 있다. "Order by 첫 번째 컬럼, 두 번째 컬럼, 세 번째 컬럼 desc, 네 번째 컬럼"이라는 의미이다. 오라클의 "Order by 상수"의 사용 방법은 아래와 같다. select 2 col1,'aaa' col2, 'A' col3 from dual UNION ALL select 2 col1,'aaa' col2, 'B' col3 from dual UNION ALL select 1 col1,'bbb' col2, 'B' col3 from dual ORDER BY 1, 3, 2 -- Order b.. 2023. 6. 7. ORACLE 최근 3개년 데이터 (+ 없으면 0으로 출력) ORACLE 최근 3개년 데이터 (없으면 0으로 출력) 1. 테이블명 'TABLENAME'에는 아래와 같은 데이터가 있다. YEAR (연도) 값 (COUNT) 2023 100,000 2021 50,000 2020 120,000 2016 38,000 2. 최근 3개년 데이터 조회 쿼리는 아래와 같다. SELECT YEAR,COUNT FROM TABLENAME WHERE YEAR > extract(year from sysdate)-2 --WHERE TO_CHAR(YEAR,'YYYY') > extract(year from sysdate)-2 --YEAR 필드가 NUMBER 값일 때는 TO_CHAR 적용 YEAR (연도) 값 (COUNT) 2023 100,000 2021 50,000 3. 비어있는 연도 (202.. 2023. 1. 18. 오라클 테이블 권한 조회 오라클 테이블 권한 조회 SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '테이블명' ORDER BY TABLE_NAME GRANTEE : 권한 부여 대상 OWNER : 객체 소유자 TABLE_NAME : 테이블명 GRANTOR : 권한 부여자 PRIVILEGE : 부여된 권한 TYPE : 테이블 타입 (VIEW, TABLE 등) 2022. 12. 22. 이전 1 다음 반응형