본문 바로가기

개발하는 '정'/DB20

[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.
오라클 컬럼명을 자바 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 과거 데이터 조회, 복구 (백업) ORACLE 과거 데이터 조회, 복구 (백업) 백업 데이터가 없는데 복구해야할 때, TIMESTAMP를 사용하여 과거 데이터를 조회할 수 있다. 사용법 //특정 시점의 데이터 조회 select * from tmpA AS OF TIMESTAMP TO_TIMESTAMP('20001231 123010','YYYYMMDD HH24MISS') //2000년 12월 31일 12시 30분 10초 ; //특정 시간 전 데이터 조회 select * from tmpA AS OF TIMESTAMP TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' day) //10일 전 ; select * from tmpA AS OF TIMESTAMP TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' hour.. 2023. 11. 1.
MariaDB Server 설치 MariaDB Server 설치 방법 1. 설치 파일 다운로드 1) 아래 링크에서 설치 파일을 받는다. https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.1.2&os=windows&cpu=x86_64&pkg=msi&m=blendbyte Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 2) 원하는 설정을 선택 후 Download한다. 2. 설치 1) 아래 3단계는 특별히 설정해야하는게 아니라면 넘어간다. 2) root 계정으로 사용할 패스워드를 입력한다. 3) 아래 .. 2023. 9. 5.
MySql Workbench 설치 및 접속 MySql Workbench 설치 및 접속 1. 아래 주소에서 설치파일을 다운로드 받는다. https://dev.mysql.com/downloads/workbench/ MySQL :: Download MySQL Workbench Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M dev.mysql.com 다.. 2023. 8. 8.
[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.
반응형