본문 바로가기
PostgreSQL INTERVAL 날짜 계산 CASEWHEN TO_TIMESTAMP(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL'7 DAYS'   INTERVAL  날짜 계산 가능함위 쿼리 처럼 사용하면 FRST_REGIST 날짜와 오늘 날짜를 비교가능  >>오늘 날짜보다 7일 이내 데이터면 NEW 아니면 OLD로 출력됨 2024. 10. 8.
PostgreSQL ORDER BY ARRAY_POSITION 조회조건대로 출력 SELECT * FROM test WHERE 칼럼 IN (A, B, C, D, F) ORDER BY ARRAY_POSITION(ARRAY[A, B, C, D, F], 칼럼) PostgreSQL 에서 WHERE 절로 입력한 순서대로 출력하기 2023. 12. 11.
UPDATE + INSERT / ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE 데이터 삽입할 때 PK나 UK가 중복 되었을 때 지정한 데이터만 UPDATE하는 명령어 => 조회수 카운트 등 조회해서 데이터가 없으면 INERT 있으면 UPDATE 구분은 PK나 UK 사용 방법 INSERT INTO member (NAME, price, cnt) VALUES ('kim', 1000, 0) ON DUPLICATE KEY UPDATE price = price * 2, cnt = cnt + 1; 출처/참고 블로그:https://bamdule.tistory.com/112 2023. 12. 8.
CONNECT BY 계층형 / CONNECT_BY_ROOT 최상위 노드 / SIBLINGS 정렬 / SELECT LEVEL 계층 구조 CONNECT BY A에 A-1 A-2 A-3 B에 B-1 B-2 B-3 이런식으로 계층형을 만들어서 DB를 조회할 수 있다. 먼저 최초 시작행을 정한다. START WITH ** 없어도 괜찮음, BUT 사용 했다면 CONNECT BY절이 없으면 실행 안 되니까 필수로 적어줘야 실행 됨 최초 행 이후에 다음행을 어떤 조건으로 가져올건지 정해야함 이때 CONNECT BY절을 사용함 ** LEVEL은 CONNECT BY절을 쓰면 오라클이 기본으로 제공하는 컬럼임 SIBING 계층별로 정렬하기위해 사용하는 명렁어 ORDER (요기에 사용!)BY 에 사용해준다. -상관관계를 유지하면서 정렬을 할 수 있음 CONNECT_BY_ROOT 계층형 쿼리에서 최상위 노드를 찾고자 할 경우에 사용 계층구조 쿼리에서 LEVE.. 2023. 11. 29.
PostrgreSQL 세션 확인 쿼리 / 디비 용량 확인 쿼리 등 사내에서 이번 프로젝트에 PostrgreSQL 를 사용하면서, 생소한 쿼리들이 많아서 따로 찾아보고 정리해둔다. --session 조회 SELECT * from pg_stat_activity WHERE client_addr = 'IP주소'; --session kill SELECT pg_terminate_backend('port 번호'); --1분 이상 실행되는 쿼리 확인 SELECT current_timestamp - query_start AS runtime, datname, usename, query FROM pg_stat_activity WHERE state = 'active' AND current_timestamp - query_start > '1 min' ORDER BY 1 DESC; --데이터베.. 2023. 6. 8.