Data(28)
-
PostgreSQL 오라클의 dual 처럼 하기
그냥 dual없이 select만 하면 됨SELECT CURRENT_TIMESTAMP;만약 오라클 쿼리처럼 사용하려면, 아래 처럼 테이블을 만들면 됨CREATE TABLE dual ( dummy CHAR(1));INSERT INTO dual VALUES ('X');
2024.12.26 -
PostgreSQL merge 구문
MERGE INTO target_table AS tUSING source_table AS sON t.id = s.idWHEN MATCHED THEN UPDATE SET column1 = s.column1WHEN NOT MATCHED THEN INSERT (column1, column2) VALUES (s.column1, s.column2);
2024.12.21 -
PostgreSQL 시퀀스 만들기
문법CREATE SEQUENCE sequence_name [ INCREMENT BY increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START WITH start ] [ CACHE cache_size ] [ [ NO ] CYCLE ];샘플CREATE SEQUENCE my_sequence START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;CREATE SEQUENCE limited_sequence START WITH 1000 INCREMENT BY 5 MINVALUE 100..
2024.12.01 -
Oracle 5분 단위로 시간을 집계하여 최대값 구하기
5분 단위로 데이터 분류SELECT TRUNC(DATE_COLUMN, 'MI') + (5 - MOD(TO_NUMBER(TO_CHAR(DATE_COLUMN, 'MI')), 5)) / (24 * 60) AS rounded_up_dateFROM YOUR_TABLE;5분 단위로 최대값 구하기SELECT TRUNC(DATE_COLUMN, 'MI') + (5 - MOD(TO_NUMBER(TO_CHAR(DATE_COLUMN, 'MI')), 5)) / (24 * 60) AS rounded_up_date, MAX(VALUE_COLUMN) AS max_valueFROM YOUR_TABLEGROUP BY TRUNC(DATE_COLUMN, 'MI') + (5 - MOD(TO_NUMBE..
2024.11.24 -
Oracle Date type을 milliseconds로 변환하기
UTC 표준시간SELECT (SYSDATE - TO_DATE('1970-01-01', 'YYYY-MM-DD')) * 24 * 60 * 60 * 1000 AS millisecondsFROM dual;Lcoal 한국시간SELECT (SYSDATE - TO_DATE('1970-01-01 09:00', 'YYYY-MM-DD HH:MI')) * 24 * 60 * 60 * 1000 AS millisecondsFROM dual;
2024.11.23 -
Oracle connect by 사용
중복값 제거connect by의 대상이 되는 데이터 집합이 subquery가 되지 않으면, 데이터가 중복됨# 데이터 중복 발생SELECT * FROM ACONNECT BY PRIOR A.CHILD = A.PARENT# 데이터 중복 미발생SELECT * FROM (SELECT * FROM A) ACONNECT BY PRIOR A.CHILD = A.PARENT
2024.08.23