[DATABASE/POSTGRESQL] CURRENT_TIME 키워드 : 현재 시간 구하기
■ CURRENT_TIME 키워드를 사용해 현재 시간을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 |
SELECT CURRENT_TIME; /* 23:01:35.192389+09 */ |
■ CURRENT_TIME 키워드를 사용해 현재 시간을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 |
SELECT CURRENT_TIME; /* 23:01:35.192389+09 */ |
■ EXTRACT 함수를 사용해 날짜/시간에서 유닉스 시간을 구하는 방법을 보여준다. 유닉스 시간은 1970년에서 2038년까지만 표현할 수 있는 시간 형식이다. Epoch나 Posix Time으로도
■ PG_TYPEOF 함수를 사용해 데이터 타입을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 |
SELECT PG_TYPEOF(NOW()); /* timestamp with time zone */ |
■ TO_TIMESTAMP 함수를 사용해 문자열에서 타임스탬프 값을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT TO_TIMESTAMP('20230222', 'YYYYMMDD'); |
■ 캐스팅을 사용해 타임스탬프 값에서 타임 값을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT NOW()::TIME; |
■ 캐스팅을 사용해 날짜 값에서 타임스탬프 값을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT (NOW()::DATE)::TIMESTAMP; |
■ 캐스팅을 사용해 타임스탬프 값에서 날짜 값을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT NOW()::DATE; |
■ NOW 함수를 사용해 현재 시간을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT NOW(); |
■ TO_CHAR 함수를 사용해 타임스탬프 값에서 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT TO_CHAR(NOW(), 'YYYYMMDD'); |
■ DATE_PART 함수를 사용해 날짜 값에서 월을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT CURRENT_TIMESTAMP, DATE_PART('month', CURRENT_TIMESTAMP) AS MONTH; |
■ EXTRACT 함수를 사용해 날짜 값에서 요일을 구하는 방법을 보여준다. (일요일-토요일) ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT CASE EXTRACT(DOW FROM DATE '2023-02-20') WHEN 0 THEN '일' WHEN 1 THEN '월' WHEN 2 THEN '화' WHEN 3 THEN '수' WHEN 4 THEN '목' WHEN 5 THEN '금' WHEN 6 THEN '토' END AS WEEK_DAY; |
■ EXTRACT 함수를 사용해 날짜 값에서 월을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SELECT EXTRACT(MONTH FROM TIMESTAMP '2020-12-16 10:41:35') AS MONTH; SELECT CURRENT_TIMESTAMP, EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS MONTH; |
■ 윈도우즈에서 디폴트 데이터 디렉토리(PGDATA)를 이동하는 방법을 보여준다. 1. 데이터베이스에 연결된 모든 애플리케이션을 종료한다. 2. [서비스] 대화 상자에서 아래와 같이 해당 PostgreSQL
■ REGEXP_REPLACE 함수를 사용해 정규식을 사용해 문자열에서 모든 공백을 제거하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT REGEXP_REPLACE(' 테 스 트 ', '\s', '', 'g'); |
■ CAST 함수를 사용해 데이터 타입을 변환하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 |
SELECT CATEGORY6 FROM PUBLIC.LIBRARY_DATA WHERE MENU_ID = '439BE38B-F7CD-447A-9266-54F906A22A7B' AND CATEGORY1 = '공개' AND LENGTH(CATEGORY6) > 0 ORDER BY CAST(category6 AS INTEGER) ASC; |
■ SET STATEMENT_TIMEOUT TO 명령을 사용해 쿼리 실행시 타임아웃 시간을 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SET STATEMENT_TIMEOUT TO 60000; ※ 60000 : 1분 |
■ "SSL 중지 연결에 대한 설정이 pg_hba.conf 파일에 없습니다" 오류시 조치하는 방법을 보여준다. 1. 메모장에서 아래 경로 파일을 연다. ▶ 실행 명령
■ COPY 명령을 사용해 CSV 파일 데이터를 테이블에 복사하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
COPY PUBLIC.COM_USER FROM 'd:/export.csv'; |
※ export.csv 파일 데이터를 COM_USER 테이블에
■ COPY 명령을 사용해 테이블 데이터를 CSV 파일로 복사하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
COPY (SELECT * FROM PUBLIC.COM_USER) TO 'd:/export.csv'; |
※ COM_USER 테이블 데이터를 export.csv 파일로
■ INSERT ON CONFLICT 명령을 사용해 데이터를 추가 또는 수정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
DROP TABLE IF EXISTS TEST_CUSTOMER; CREATE TABLE TEST_CUSTOMER ( CUSTOMER_ID SERIAL PRIMARY KEY ,NAME VARCHAR UNIQUE ,EMAIL VARCHAR NOT NULL ,ACTIVE BOOL NOT NULL DEFAULT TRUE ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('IBM' , 'contact@ibm.com' ), ('Microsoft', 'contact@microsoft.com'), ('Intel' , 'contact@intel.com' ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('Microsoft', 'hotline@microsoft.com') ON CONFLICT (NAME) DO UPDATE SET EMAIL = EXCLUDED.EMAIL || ';' || TEST_CUSTOMER.EMAIL; SELECT * FROM PUBLIC.TEST_CUSTOMER; |
■ INSERT ON CONFLICT 명령을 사용해 제약 조건 위반시 예외 발생을 무시하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
DROP TABLE IF EXISTS TEST_CUSTOMER; CREATE TABLE TEST_CUSTOMER ( CUSTOMER_ID SERIAL PRIMARY KEY ,NAME VARCHAR UNIQUE ,EMAIL VARCHAR NOT NULL ,ACTIVE BOOL NOT NULL DEFAULT TRUE ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('IBM' , 'contact@ibm.com' ), ('Microsoft', 'contact@microsoft.com'), ('Intel' , 'contact@intel.com' ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('Microsoft','hotline@microsoft.com') ON CONFLICT (NAME) DO NOTHING; |
■ INSERT ON CONFLICT 명령을 사용해 제약 조건 위반시 예외 발생을 무시하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
DROP TABLE IF EXISTS TEST_CUSTOMER; CREATE TABLE TEST_CUSTOMER ( CUSTOMER_ID SERIAL PRIMARY KEY ,NAME VARCHAR UNIQUE ,EMAIL VARCHAR NOT NULL ,ACTIVE BOOL NOT NULL DEFAULT TRUE ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('IBM' , 'contact@ibm.com' ), ('Microsoft', 'contact@microsoft.com'), ('Intel' , 'contact@intel.com' ); INSERT INTO TEST_CUSTOMER (NAME, EMAIL) VALUES ('Microsoft', 'hotline@microsoft.com') ON CONFLICT ON CONSTRAINT TEST_CUSTOMER_NAME_KEY DO NOTHING; |
■ ROW_NUMBER 함수를 사용해 행 번호를 표시하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT (ROW_NUMBER() OVER()) AS ROWNUM, SUBJECT FROM PUBLIC.LIBRARY_DATA LIMIT 10; |
■ COALESCE 함수를 사용해 특정 값이 NULL인 경우 지정 값을 반환하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT COALESCE(DESCRIPTION, '(Empty)') FROM PUBLIC.CUSTOMER; |
■ 데이터 디렉토리를 변경하는 방법을 보여준다. 1. [SQL Shell (psql)] 프로그램을 실행한다. 2. 아래와 같이 접속한다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 |
Server [localhost]: Database [postgres]: Port [5432]: Username [postgres]: postgres 사용자의 암호: psql (11.10) 도움말을 보려면 "help"를 입력하십시오. postgres=# |
3. show