도서/모두를 위한 postgreSQL

Day9. 쿼리에 사용되는 연산자와 함수3

joje* 2023. 6. 27. 00:24

1. 날짜 및 시간 연산자와 함수

: 덧셈 연산자

  • SELECT date '2020-07-15' + integer  '7' AS result; - '2020-07-22'(DATE 타입)
  • SELECT date '2020-07-15' - time '13:00' AS result; - '2020-07-15 13:00:00'(TIMESTAMP 타입)

; 뺄셈 연산자

  • SELECT date '2020-07-15' - date '2020-07-01' AS result;- 14
  • 날짜와 정수를 빼면 날짜가 나오고, 시간과 시간을 빼면 INTERVAL 타입의 결과가 출력된다.

: 곱셈 연산자

  • SELECT 60 * interval '1 second' AS result;- 00:01:00
  • SELECT 2 * time '2:00' AS result; - 04:00:00

: 나눗셈 연산자

  • SELECT interval '1 hour' / FLOAT '1.2'  AS result; - 00:50:00
  • 나눗셈 연산자에서는 분모가 0이 되지 않도록 주의가 필요하다.

2. 날짜 및 시간 기본함수

2.1 현재 날짜와 시간을 반환하는 함수

  • CURRENT_DATE: 현재 날짜 정보를 반환한다
  • CURRENT_TIME: 현재시간+시간대 정보를 반환한다.
  • CURRENT_TIMESTAMP: 현재 날짜 및 시간+시간대 정보를 반환한다.

2.2 시간대 정보없이 현재 시간 값을 출력하는 함수

  • LOCALTIME
  • LOCALTIMESTAMP

2.3 현재 시간을 기준으로 정해진 시간까지의 시간간격을 구해주는 함수

: 현재 TIMESTAMP - 인자로 받은 TIMESTAMP

  • age(<timestamp>)-select age(timestamp '2022-09-12');

3. 날짜 및 시간 응용함수

3.1 날짜 및 시간 데이터 타입에서 특정 정보만을 추출하는 함수

  • EXTRACT(<필드 값> FROM <날짜 및 시간 정보>);
  • 필드값: CENTURY, QUARTER, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, ISODOW(요일 숫자:월요일(1)~일요일(7)), DOW(요일 숫자:일요일(0)~토요일(6)), TIMEZONE 등의 값이 올 수 있다.
  • date_part('필드 값'  FROM <날짜 및 시간 정보>); - 필드값을 문자열 형태로 받아준다.

3.2 시간데이터에서 필요없는 정보만을 제거해주는 함수

  • date_trunc(<필드 값> )FROM <날짜 및 시간 정보>;