본문 바로가기

postgre5

PostgreSQL 날짜 API 다루기( 두 날짜 사이 시간 계산, extract, age 등 ) 들어가며 PostgreSQL에서 날짜와 관련된 API를 다루는 방법을 알아봅니다. 다음의 샘플테이블을 먼저 준비합니다. Sample Table CREATE TABLE foods ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, brand VARCHAR(255), category VARCHAR(255) NOT NULL, quantity INT NOT NULL, price NUMERIC(10, 2) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT NOW(), expired_at TIMESTAMP NOT NULL ); INSERT INTO foods (name, brand, category, quantity, price, exp.. 2023. 2. 9.
PostgreSQL 캐스팅 사용 방법 유용한 예제(숫자, 문자, 날짜 변환) CAST 함수 -- 숫자 -> 문자 SELECT 'The number is ' || CAST(42 AS text); -- 문자 -> 숫자 SELECT CAST('42' AS integer); -- 문자 -> date SELECT CAST('2022-07-23' AS date); -- 문자 -> timestamp SELECT CAST('2022-07-23 12:34:56' AS timestamp); -- date -> 문자 SELECT CAST(date '2022-07-23' AS text); -- timestamp -> 문자 SELECT CAST(timestamp '2022-07-23 12:34:56' AS text); :: 오퍼레이터 :: 오퍼레이터를 사용하여 변환 SELECT text('42')::i.. 2023. 2. 7.
PostgreSQL 테이블 CRUD 쿼리 예제 Create Query CREATE TABLE cars ( id serial PRIMARY KEY, make text NOT NULL, model text NOT NULL, year integer NOT NULL, color text NOT NULL, created_at timestamp DEFAULT now() NOT NULL ); text 데이터 타입은 데이터의 최대길이를 모르거나 데이터 길이가 큰 경우 varchar 보다 효율적입니다. 하지만 최대 길이를 알고 그 길이가 1000 바이트내 ( 물론 이 기준은 상황에 따라 다릅니다. )라면 varchar를 사용하는 것이 더 효과적입니다. 쿼리 퍼포먼스, 데이터 공간에서 text보다 더 효육적입니다. binary data는 bytea를 사용합니다. In.. 2023. 2. 6.
PostgreSQL SQL Error [42725]: ERROR: function date_trunc(unknown, unknown) is not unique Hint: Could not choose a best candidate function. You might need to add explicit type casts. 문제의 쿼리 SELECT date_trunc('month', '2022-07-23 12:34:56'); 실행 시 아래 오류 발생 SQL Error [42725]: ERROR: function date_trunc(unknown, unknown) is not unique Hint: Could not choose a best candidate function. You might need to add explicit type casts. - 위 Hint에서 처럼 입력한 파라미터가 unknown으로 인식된다. 아래와 같이 캐스팅하여 문제를 해결한다. SELECT date_trunc('month'::text, '2022-07-23 12:34:56'::timestamp); 2023. 2. 5.