단일 행 함수
1. 단일 행 함수
단일 행 함수는 입력된 값에 대해 한 행마다 하나의 결과를 반환하는 함수입니다. 이 함수들은 데이터를 처리하고 변환하는 데 매우 유용하며, 특히 문자열, 숫자, 날짜 데이터를 처리할 때 자주 사용됩니다.
1.1 문자열 함수
1.1.1 LOWER, UPPER
LOWER
는 문자열을 소문자로 변환하고, UPPER
는 문자열을 대문자로 변환합니다.
SELECT LOWER('SQL') AS lower_result, UPPER('sql') AS upper_result;
SELECT LOWER('SQL') AS lower_result, UPPER('sql') AS upper_result;
1.1.2 SUBSTR
SUBSTR
함수는 문자열의 일부를 추출할 때 사용됩니다. 첫 번째 인자는 시작 위치, 두 번째 인자는 추출할 길이를 지정합니다.
SELECT SUBSTR('Hello SQL', 1, 5) AS substring;
SELECT SUBSTR('Hello SQL', 1, 5) AS substring;
1.1.3 LENGTH
LENGTH
함수는 문자열의 길이를 반환합니다.
SELECT LENGTH('Hello') AS length;
SELECT LENGTH('Hello') AS length;
1.2 숫자 함수
1.2.1 ROUND
ROUND
함수는 숫자를 지정한 자릿수에서 반올림합니다.
SELECT ROUND(123.456, 2) AS rounded_value;
SELECT ROUND(123.456, 2) AS rounded_value;
1.2.2 POWER
POWER
함수는 주어진 숫자의 거듭제곱을 계산합니다.
SELECT POWER(2, 3) AS power_result;
SELECT POWER(2, 3) AS power_result;
1.2.3 SQRT
SQRT
함수는 제곱근을 계산합니다.
SELECT SQRT(16) AS sqrt_result;
SELECT SQRT(16) AS sqrt_result;
2. 날짜 함수
SQL에서 날짜와 시간을 처리할 때 사용하는 함수들은 다양한 날짜 연산을 가능하게 해줍니다. 날짜 함수는 날짜 계산, 포맷 변환, 날짜와 시간의 차이 계산 등에 매우 유용합니다.
2.1 CURRENT_DATE
CURRENT_DATE
함수는 현재 날짜를 반환합니다. 시스템 날짜를 기준으로 오늘의 날짜를 가져오며, YYYY-MM-DD
형식으로 출력됩니다.
SELECT CURRENT_DATE AS today;
SELECT CURRENT_DATE AS today;
2.2 DATE()
DATE()
함수는 문자열을 날짜 형식으로 변환할 때 사용됩니다. 주어진 문자열이 올바른 날짜 형식이어야 합니다.
SELECT DATE('2024-09-30') AS formatted_date;
SELECT DATE('2024-09-30') AS formatted_date;
2.3 STRFTIME()
STRFTIME()
함수는 날짜나 시간을 특정 형식으로 변환할 때 사용됩니다. 이 함수는 특히 SQLite에서 유용하며, 원하는 포맷으로 날짜를 변환할 수 있습니다.
SELECT STRFTIME('%Y-%m-%d', 'now') AS formatted_date;
SELECT STRFTIME('%Y-%m-%d', 'now') AS formatted_date;
다음은 날짜와 시간을 같이 변환하는 예시입니다.
SELECT STRFTIME('%Y-%m-%d %H:%M:%S', 'now') AS current_datetime;
SELECT STRFTIME('%Y-%m-%d %H:%M:%S', 'now') AS current_datetime;
2.4 DATE 함수와 연산
SQL에서는 날짜에 대한 연산도 가능합니다. 날짜를 더하거나 빼는 연산을 통해 특정 날짜를 계산할 수 있습니다.
- 날짜 더하기: 다음 예시는 현재 날짜에 7일을 더하는 방법입니다.
SELECT DATE('now', '+7 days') AS next_week;
SELECT DATE('now', '+7 days') AS next_week;
- 날짜 빼기: 현재 날짜에서 1개월을 빼는 예시입니다.
SELECT DATE('now', '-1 month') AS last_month;
SELECT DATE('now', '-1 month') AS last_month;
2.5 날짜 차이 계산 (JULIANDAY)
JULIANDAY
함수는 날짜를 율리우스일(Julian Day)로 변환하여 날짜 간의 차이를 계산할 때 사용됩니다.
SELECT JULIANDAY('2024-09-30') - JULIANDAY('2024-01-01') AS days_difference;
SELECT JULIANDAY('2024-09-30') - JULIANDAY('2024-01-01') AS days_difference;