숫자 함수
1. ROUND : 숫자를 반올림하여 출력한다.
select round(반올림할 숫자, 자릿수)
2. TRUNC : 숫자를 내림하여 출력한다.
select trunc(숫자, 자릿수)
3. MOD : 숫자를 나누기 한 나머지를 출력한다.
select mod(숫자,나눌값)
4. POWER : 숫자를 제곱하여 출력한다.
select power(숫자,승수)
5. SQRT : 숫자의 제곱근을 출력한다.
select sqrt(숫자)
문자 함수
1. SUBSTR : 문자열의 일부만 출력한다.
select substr('문자열', 시작 위치, 길이)
2. LEFT : 문자열을 왼쪽에서부터 자른 후 출력한다.
elect left('문자열',길이)
3. RIGHT : 문자열을 오른쪽에서부터 자른 후 출력한다.
select right('문자열',길이)
4. CONCAT : 문자열을 하나로 연결한다.
select concat('문자열', '문자열', '문자열')
- || 를 사용해도 연결 가능하다.
select '문자열' || '문자열'
5. LOWER : 문자열을 모두 소문자로 변경한다.
select lower('문자열')
6. UPPER : 문자열을 모두 대문자로 변경한다.
select upper('문자열')
7. INITCAP : 앞의 문자만 대문자로 변경한다.
SELECT INITCAP('문자열')
8. REPLACE : 변경할 값으로 대상 값을 교체한다.
select replace('전체 문자열', '대상 문자열', '변경할 문자열')
9. LENGTH : 문자열의 길이를 출력한다.
select length('문자열')
10. INSTR : 문자열의 위치를 출력한다.
select instr('문자열','찾을 문자열')
11. IFNULL : 해당 데이터가 NULL이라면 다른 값으로 변경한다.
select IFNULL('문자열', '바꿀 문자열')
형변환 함수
CAST : 데이터를 다른 타입으로 형변환한다.
1. 문자열 -> 숫자
select CAST('123' AS INT64)
select CAST('123.123' AS FLOAT64)
select CAST('123' AS NUMERIC)
2. 숫자 -> 문자열
select CAST(123 AS STRING)
select CAST(123.123 AS STRING)
select CAST(true AS STRING)
select CAST(false AS STRING)
select CAST(NULL AS STRING)
3. 날짜
select DATE('2011-12-01 11:12:34')
select DATETIME('2011-12-01 11:12:34')
날짜 함수
CURRENT_DATE : 현재 날짜 구하기
SELECT CURRENT_DATE();
SELECT DATE();
EXTRACT : 특정 날짜 데이터 추출하기
SELECT EXTRACT(YEAR FROM CURRENT_DATE());
SELECT EXTRACT(MONTH FROM CURRENT_DATE());
SELECT EXTRACT(DAY FROM CURRENT_DATE());
FORMAT_DATE : 날짜 데이터의 표현방법 바꾸기
SELECT FORMAT_DATE(format_string, date_expr)
SELECT FORMAT_DATE('%x', DATE '2023-1-1');
>> 01/01/23
SELECT FORMAT_DATE('%b-%d-%Y', DATE '2023-1-1');
>> Jan-01-2023
SELECT FORMAT_DATE('%y-%m-%d', DATE '2023-1-1');
>> 2023-01-01
SELECT FORMAT_DATE('%y/%m/%d', DATE '2023-1-1');
>> 2023/01/01
DATE_DIFF : 두 날짜간의 간격을 출력한다.
SELECT DATE_DIFF(date_expression_a, date_expression_b, date_part);
SELECT DATE_DIFF(DATE '2023-9-3', DATE '2023-1-1', DAY) AS days_diff;
DATE_ADD / DATE_SUB : 지정된 시간 간격을 더하고 뺀다.
SELECT DATE_ADD(date_expression, INTERVAL int64_expression date_part);
SELECT DATE_SUB(date_expression, INTERVAL int64_expression date_part);
SELECT DATE_ADD(DATE '2023-1-1', INTERVAL 5 DAY);
SELECT DATE_ADD(DATE '2023-1-1', INTERVAL 5 MONTH);
SELECT DATE_ADD(DATE '2023-1-1', INTERVAL 5 YEAR);
- 더하거나 뺄 수 있는 수치는 아래와 같다
- MICROSECOND
- MILLISECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
CURRENT_DATETIME : 현재 시간 구하기
SELECT CURRENT_DATETIME()
EXTRACT : 특정 시간 데이터 추출하기
SELECT EXTRACT(HOUR FROM CURRENT_DATETIME());
SELECT EXTRACT(MINUTE FROM CURRENT_DATETIME());
SELECT EXTRACT(SECOND FROM CURRENT_DATETIME());
FORMAT_DATETIME : 시간 데이터의 표현방법 바꾸기
SELECT FORMAT_DATETIME(format_string, datetime_expression);
SELECT FORMAT_DATETIME('%y/%m/%d %T', DATETIME '2023-1-1 15:30:00') AS KR_format;
>> 2023/01/01 15:30:00
'SQL' 카테고리의 다른 글
[SQL] JOIN, UNION, WITH, 서브쿼리 (0) | 2023.01.27 |
---|