PostgreSQL에 현재 타임스탬프 삽입

Bilal Shahid 2023년6월20일
  1. PostgreSQL에서 타임스탬프란 무엇입니까
  2. NOW() 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입
  3. CURRENT_TIMESTAMP 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입
  4. LOCALTIMESTAMP 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입
PostgreSQL에 현재 타임스탬프 삽입

종종 데이터베이스에 현재 날짜 및 시간 데이터를 유지해야 합니다. 예를 들어, 고객이 웹 사이트에서 주문할 때 로그를 유지하려고 할 수 있습니다.

이러한 상황에서 당사의 응용 프로그램이나 웹 사이트가 동적일 때 현재 날짜와 시간을 수동으로 작성하고 삽입하는 것은 불가능하며 이로 인해 인적 오류가 발생할 수도 있습니다.

따라서 이 기사에서는 PostgreSQL의 테이블에 현재 타임스탬프를 삽입하는 다양한 방법과 그 사용법 및 제한 사항에 대해 설명합니다. 바로 이동하기 전에 먼저 타임스탬프의 의미를 이해하겠습니다.

PostgreSQL에서 타임스탬프란 무엇입니까

PostgreSQL에서 timestamp는 시간대 없이 날짜와 시간을 저장하는 데이터 유형입니다. 모든 프로그래밍 언어의 데이터 유형은 저장하는 값의 유형으로 구별되는 특정 엔티티입니다.

timestamp 데이터 유형 변수는 PostgreSQL에서 다음과 같은 방식으로 선언됩니다.

variable_name timestamp

이제 PostgreSQL의 타임스탬프가 무엇인지 알았으니 현재 날짜와 시간을 검색하고 이를 타임스탬프 변수에 삽입하는 데 도움이 되는 다양한 기능을 이해하는 단계로 넘어가겠습니다.

이해를 돕기 위해 다음 표를 만듭니다.

create table example1
(
variable_name timestamp
);

시간과 날짜를 이 테이블에 수동으로 삽입하려면 다음과 같은 방법으로 할 수 있습니다.

INSERT INTO example1
VALUES ('2022-08-23 18:42:02');

이 데이터가 성공적으로 삽입되었음을 알 수 있습니다.

수동으로 시간 및 날짜 삽입

그러나 앞에서 설명한 것처럼 수동으로 시간 및 날짜 데이터를 삽입하는 것은 좋은 방법이 아닙니다. 따라서 PostgreSQL은 timestamp 변수에 현재 시간과 날짜를 삽입하는 데 사용할 수 있는 다양한 기능을 제공합니다.

하나씩 그들의 사용법을 이해합시다.

NOW() 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입

PostgreSQL의 NOW() 함수는 시간대와 함께 현재 날짜와 시간을 반환합니다. 사용되는 시간대 데이터는 사용 중인 데이터베이스 서버의 설정에 따릅니다.

NOW() 함수는 다음과 같은 방식으로 사용됩니다.

SELECT NOW();

다음과 같이 출력이 시간대와 함께 타임스탬프 값을 반환하는 것을 볼 수 있습니다.

지금 시간대 포함

시간대가 없는 값으로 변환하려면 다음과 같이 사용할 수 있습니다.

SELECT NOW()::timestamp;

이것은 우리에게 다음과 같은 출력을 제공합니다.

시간대 없이 지금

NOW() 함수를 사용하여 테이블에 현재 타임스탬프를 삽입할 수 있습니다. example1 테이블에 일부 값을 삽입하여 이를 시연해 보겠습니다.

INSERT INTO example1 VALUES (now());

아래와 같이 값이 성공적으로 삽입됩니다.

지금 시간대 2 없음

참고: NOW()에서 검색된 시간 및 날짜 값은 출력에 표시된 대로 타임스탬프 변수에 삽입될 때 시간대 없이로 자동 변환됩니다.

CURRENT_TIMESTAMP 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입

CURRENT_TIMESTAMP 함수는 시간대와 함께 현재 날짜 및 시간 데이터도 반환하므로 NOW() 함수와 유사합니다.

이 두 기능은 서로 대체하여 상호 교환하여 사용할 수 있습니다. CURRENT_TIMESTAMP 함수는 다음과 같은 방식으로 결과를 표시합니다.

SELECT CURRENT_TIMESTAMP;

시간대 포함 CURRENT_TIMESTAMP

NOW() 함수와 마찬가지로 이 데이터를 다음과 같은 방법으로 시간대 없이 타임스탬프로 변환할 수 있습니다.

SELECT CURRENT_TIMESTAMP::timestamp;

시간 데이터에서 시간대가 제거된 결과를 확인할 수 있습니다.

시간대 없는 CURRENT_TIMESTAMP

CURRENT_TIMESTAMP 함수를 사용하여 테이블에 현재 타임스탬프를 삽입할 수 있습니다. example1 테이블에 일부 값을 삽입하여 이를 시연해 보겠습니다.

INSERT INTO example1 VALUES (CURRENT_TIMESTAMP);

아래와 같이 값이 성공적으로 삽입됩니다.

시간대 2가 없는 CURRENT_TIMESTAMP

CURRENT_TIMESTAMP 함수 사용의 또 다른 측면은 반환된 시간의 정밀도를 조정할 수 있다는 것입니다. 예를 들어 위의 출력에서 시간이 소수점 6까지 정확하게 표시되는 것을 볼 수 있습니다.

그러나 PostgreSQL을 사용하면 필요에 따라 이 정밀도를 조정할 수 있습니다. 구문은 다음 쿼리에 설명되어 있습니다.

SELECT CURRENT_TIMESTAMP(2);

CURRENT_TIMESTAMP 정밀도

정밀도 매개변수에서 요청한 대로 시간이 소수점 2까지 정확하다는 것을 출력에서 볼 수 있습니다. 아래와 같이 정밀도를 정의한 후 현재 타임스탬프를 삽입할 수 있습니다.

INSERT INTO example1 VALUES (CURRENT_TIMESTAMP(2));

성공적인 삽입은 아래와 같습니다.

CURRENT_TIMESTAMP 정밀도 삽입

LOCALTIMESTAMP 함수를 사용하여 PostgreSQL에 현재 타임스탬프 삽입

마지막으로 현재 날짜와 시간을 검색하는 동일한 목적을 제공하는 LOCALTIMESTAMP 기능이 있습니다. 그러나 NOW()CURRENT_TIMESTAMP 함수와 달리 LOCALTIMESTAMP 함수는 시간대 없이 시간과 날짜를 반환합니다.

현재 타임스탬프 데이터를 검색하는 데 어떻게 사용되는지 살펴보겠습니다.

SELECT LOCALTIMESTAMP;

이것은 다음과 같은 출력을 제공합니다.

LOCALTIMESTAMP

따라서 LOCALTIMESTAMP 함수를 사용하여 현재 타임스탬프를 테이블에 삽입할 수 있습니다. example1 테이블에 일부 값을 삽입하여 이를 시연해 보겠습니다.

INSERT INTO example1 VALUES (LOCALTIMESTAMP);

아래와 같이 값이 성공적으로 삽입됩니다.

LOCALTIMESTAMP 삽입

CURRENT_TIMESTAMP 기능과 유사하게 LOCALTIMESTAMP 기능에서 시간 정밀도를 지정할 수 있습니다. 이에 대한 구문은 다음과 같습니다.

SELECT LOCALTIMESTAMP(2);

LOCALTIMESTAMP 정밀도

정밀도 매개변수에서 요청한 대로 시간이 소수점 2까지 정확하다는 것을 출력에서 볼 수 있습니다. 아래와 같이 정밀도를 지정하여 LOCALTIMESTAMP 기능을 사용하여 현재 타임스탬프를 삽입할 수 있습니다.

INSERT INTO example1 VALUES (LOCALTIMESTAMP(2));

성공적인 삽입은 아래와 같습니다.

LOCALTIMESTAMP 정밀도 삽입

이것은 PostgreSQL의 테이블에 현재 타임스탬프를 삽입하는 모든 다른 방법을 요약한 것입니다. NOW(), CURRENT_TIMESTAMPLOCALTIMESTAMP 함수를 사용하여 timestamp 데이터 유형 변수에 날짜 및 시간 값을 삽입하는 방법을 배웠기를 바랍니다.

작가: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

관련 문장 - PostgreSQL Timestamp