날짜 : DATE()
시간 : DATETIME()
SELECT CURRENT_DATE();
현재 날짜 얻는 방법
--timezone을 설정할 수 있습니다.
SELECT DATE('2023-1-1', 'Asia/Seoul')
데이터 추출
SELECT EXTRACT(YEAR FROM DATE '2023-1-1');
SELECT EXTRACT(DAY FROM CURRENT_DATE());
시간
SELECT CURRENT_DATETIME()
DATETIME을 통해 시간 객체 생성할 수 있음
1. DATETIME(year, month, day, hour, minute, second)
2. DATETIME(date_expression[, time_expression])
3. DATETIME(timestamp_expression [, time_zone])
SELECT DATETIME(2023, 1, 25, 05, 30, 00)
>> 2023-01-25T05:30:00
SELECT CURRENT_DATETIME()
데이터 추출
SELECT EXTRACT(HOUR FROM CURRENT_DATETIME());
FORMAT_DATE
FORMAT_DATE(format_string, date_expr)
지정된 format_string에 따라 날짜를 변경
날짜 형식은 링크 참조
SELECT FORMAT_DATE('%b-%d-%Y', DATE '2023-1-25') AS US_format;
>> Jan-25-2023
SELECT FORMAT_DATE('%y-%m-%d', DATE '2023-1-25') ;
>> 23-01-25
SELECT FORMAT_DATE('%x', DATE '2023-1-25')
>> 01/25/23
format_date() 는 빅쿼리, date_format() 은 my sql
FORMAT_DATETIME
지정된 format_string에 따라 시간(datetime_expression)을 변경
링크 참조 (위와 동일)
SELECT FORMAT_DATE('%y/%m/%d %T', DATETIME '2023-1-25 15:30:00')
>> 23/01/25 15:30:00
DATE_DIFF
- 두 날짜 간에 (date_expression_a 와 date_expression_b) 지정된 date_part 간격의 정수를 반환
- date_part 는 year, monthm day 등을 지정할 수 있음
- 첫 번째 날짜가 두 번째 날짜보다 이전이면 음수로 출력
SELECT DATE_DIFF(DATE '2023-9-3', DATE '2023-1-1', DAY)
>> 245
SELECT DATE_DIFF(DATE '2033-9-3', DATE '2023-1-1', YEAR)
>> 10
SELECT DATE_DIFF(delivered_at,created_at, day)
from `thelook_ecommerce.orders`
where status='Complete'
DATE_ADD, DATE_SUB
DATE_ADD
SELECT DATE_ADD(DATE '2023-1-25', INTERVAL 5 DAY);
>> 2023-01-30
SELECT DATE_ADD(DATE '2023-1-25', INTERVAL 5 MONTH);
>> 2023-06-25
DATE_SUB
SELECT DATE_SUB(DATE '2023-1-25', INTERVAL 5 DAY);
>> 2023-01-20
SELECT DATE_SUB(DATE '2023-1-25', INTERVAL 5 YEAR);
>> 2018-01-25
DATETIME_ADD, DATETIME_SUB
- 지정된 시간 간격을 추가 및 빼는 함수
- 형식은 date와 동일
- 더하거나 뺄 수 있는 수치는 다음과 같음
- MICROSECOND
- MILLISECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
SELECT DATETIME_ADD(DATETIME "2023-12-25 15:30:00", INTERVAL 10 MINUTE);
>> 2023-12-25T15:40:00
'AI SCHOOL > SQL' 카테고리의 다른 글
[SQL] JOIN (1) | 2023.01.26 |
---|---|
[SQL] 조건분기(CASE, IF) 연습문제 (1) | 2023.01.26 |
[SQL] 숫자, 문자열 함수, 날짜 함수 연습문제(프로그래머스) (0) | 2023.01.25 |
[SQL] 숫자, 문자열 함수 (0) | 2023.01.25 |
[SQL] HAVING, ORDER BY (0) | 2023.01.20 |