반응형 개발이야기/PostgreSQL7 [PostgreSQL] DATE_PART 함수 사용법, 예제, 활용하기 PostgreSQL은 날짜와 시간 데이터를 다룰 때 유용한 함수들을 제공합니다. 그중 DATE_PART 함수는 날짜나 시간 데이터에서 특정 부분(연도, 월, 일 등)을 추출하는 데 사용됩니다. 이 함수는 데이터 분석, 보고서 생성, 그리고 시간 관련 쿼리 작성 시 매우 유용합니다.1. DATE_PART 함수의 기본 문법DATE_PART('필드', 소스)-필드(field): 추출하고자 하는 날짜 또는 시간의 구성 요소입니다. 예: 'year', 'month', 'day', 'hour', 'minute', 'second' 등. -소스(source): 날짜 또는 시간 데이터입니다. DATE, TIMESTAMP, TIMESTAMPTZ와 같은 데이터 유형을 지원합니다.-예시SELECT DATE_PART('.. 개발이야기/PostgreSQL 2025. 2. 5. [PostgreSQL] json_build_object, json_agg 사용법, 예제, 활용하기 (JSON Functions) PostgreSQL은 JSON 데이터를 효율적으로 처리할 수 있는 기능을 제공합니다. json_build_object와 json_agg는 JSON 데이터를 생성하고 집계하는 데 매우 유용합니다. 이 글에서는 두 함수를 사용하는 방법과 예제를 통해 이를 이해하는 데 도움을 드리겠습니다. 1. json_build_object: JSON 객체 생성 -json_build_object 함수는 키-값 쌍으로 구성된 JSON 객체를 생성합니다. 키와 값은 동적으로 설정할 수 있으며, 다양한 데이터 타입을 지원합니다. 1) 사용법json_build_object(key1, value1 [, key2, value2, ...]) 2) 예제 1: 단순 JSON 객체 생성SELECT json_build_object('name.. 개발이야기/PostgreSQL 2025. 1. 14. [PostgreSQL] division by zero 에러 해결하기 (CASE문, NULLIF, COALESCE) division by zero 오류는 SQL 쿼리에서 숫자를 0으로 나누려고 시도할 때 발생하며, 데이터 무결성과 애플리케이션의 안정성을 위협할 수 있습니다. PostgreSQL과 같은 관계형 데이터베이스 관리 시스템(RDBMS)에서는 이러한 상황을 감지하고 에러를 발생시켜, 예상치 못한 계산 오류나 시스템 중단을 방지합니다. 아래 예제 쿼리는 division by zero를 오류를 해결하기 위해 CASE문, NULLIF, COALESCE를 사용했습니다. division by zero0으로 나누기를 시도할 때 발생ERROR: division by zeroSQL state: 22012 -에러 메시지: "division by zero" - 0으로 나누기를 시도했음을 나타냅니다. -SQL 상태 코드:.. 개발이야기/PostgreSQL 2024. 8. 2. [PostgreSQL] ORDER BY 특정 순서로 먼저 정렬 하기 (ORDER BY CASE WHEN, ORDER BY CASE WHEN IN 아래 예제 쿼리는 PostgreSQL에서 ORDER BY를 활용한 다양한 정렬 방법을 작성해 보았습니다. ORDER BY 절을 사용하면 단순한 오름차순 및 내림차순 정렬뿐만 아니라 다양한 조건에 따라 데이터를 정렬할 수 있습니다. 조건부 정렬, 특정 순서로 정렬, NULL 값을 먼저 또는 나중에 정렬은 알아두면 좋은 쿼리입니다. 테이블 조회select num, id, name from scheduler.tbl_test tt 조건부 정렬SELECT num, id, name FROM scheduler.tbl_test tt ORDER BY CASE WHEN num IN (2, 3, 1, 6, 7) THEN 1 ELSE 2 END, -- 조건에 따라 그룹화 num; -- 기본 정렬 -CASE WHEN num I.. 개발이야기/PostgreSQL 2024. 7. 17. [PostgreSQL] Function IF문 / CASE문 사용방법, 예제 PostgreSQL Function에서 많이 사용하는 IF문과 CASE문을 사용하여 두 개의 정수 매개변수 (num1/num2)를 받아와 문자열로 결과를 반환하고 있습니다. 1. IF문 / CASE문 사용방법 1) IF문 IF문 사용법 IF 조건 THEN -- 조건이 참일 때 수행되는 블록 ELSIF 다른조건 THEN -- 다른 조건이 참일 때 수행되는 블록 ELSE -- 어떤 조건도 만족하지 않을 때 수행되는 블록 END IF; 2) CASE문 CASE문 사용법 CASE WHEN 조건 THEN -- 조건이 참일 때 수행되는 블록 WHEN 다른조건 THEN -- 다른 조건이 참일 때 수행되는 블록 ELSE -- 어떤 조건도 만족하지 않을 때 수행되는 블록 END CASE; 2. 함수생성 CREATE OR.. 개발이야기/PostgreSQL 2024. 1. 23. [PostgreSQL] Function 동적 페이징 처리하기 (LIMIT, OFFSET) 아래 함수는 _page_size와 _page_number 두 개의 파라미터를 받아 페이징된 결과를 생성하고, 결과에는 총 레코드 수(_total_records), num, id, name을 포함해서 리턴하고 있습니다. 함수 내부에서는 동적 SQL을 사용하여 쿼리를 생성하는 예제입니다. 1. 테스트 테이블 SELECT * FROM scheduler.tbl_test; 테스트 테이블 이며 함수를 생성해서 10개씩 나타내며 1,2,3 페이지 까지 호출 해보도록 하겠습니다. 2. 함수 생성 CREATE OR REPLACE FUNCTION scheduler.ufx_test(_page_size integer, _page_number integer) RETURNS TABLE(_total_records bigint, n.. 개발이야기/PostgreSQL 2024. 1. 5. [PostgreSQL] 테이블, Function 생성 후 조회하기 PostgreSQL 데이터베이스를 사용해서 테이블과 Function을 생성 후 테이블의 데이터를 선택하여 필드를 반환하는 Function을 호출하는 예제입니다. 파라미터(parameter)가 없는 기본적인 구조입니다. 1. 테이블 생성 CREATE TABLE scheduler.tbl_test ( id varchar(12) NOT NULL, "name" varchar(255) NOT NULL, memo varchar(12) NULL ); 2. Function 생성 -- CREATE OR REPLACE FUNCTION 문으로 함수 정의 시작 CREATE OR REPLACE FUNCTION 스키마.함수명(매개변수1 타입1, 매개변수2 타입2, ...) RETURNS 반환타입 LANGUAGE plpgsql --.. 개발이야기/PostgreSQL 2024. 1. 4. 이전 1 다음 반응형