SQL에서는 그 무엇보다 중요하다고 볼 수 있는 것이
문자형함수, 숫자형함수 등과 정규표현식이라고 생각한다.
# 문자형 함수
LOWER - 전체적으로 소문자 화
UPPER - 전체적으로 대문자 화
ASCII - 문자를 아스키 넘버 화
CHR / CHAR - 숫자를 아스키 넘버에 따른 문자화
CONCAT('A', 'B') / 'A' || 'B' / 'A' + 'B' - 3가지 방법 모두 문자 결합 혹은 문자 더하기
SUBSTR('문자내용',m,n) - 문자내용 중 m번째부터 시작하여 n개의 문자를 리턴
SUBSTRING - SUBSTR과 동일한 기능 문자 몇번째부터 몇개 리턴
LENGTH, LEN - 길이 리턴
LTRIM('xxxYYZZxYZ', 'x') - 왼쪽부터 시작하여 2번째 원소인 x에 해당하는 값을 1번째 원소인 xxxYYZZxYZ 중에서 왼쪽부터 찾아서 대문자가 다시 시작할때 까지 삭제.
아무것도 안써줄 경우에도 어쨌든 가장 왼쪽에서 걸리는 소문자부터 다시 시작되는 숫자라든지, 대문자에서 멈추는 원리인것같다.
RTRIM - LTRIM의 오른쪽 버전
TRIM - 양쪽 버전이지만 여기서는 ('x' FROM 'xxYYZZxYZxx') 이런식으로 써준다. 그러면 리턴 값은 'YYZZxYZ'
------------------------------------
# 숫자형 함수
ABS(숫자) - 숫자의 절대값
SIGN(숫자) - 숫자가 양수,음수,0 중에서 무엇인지 구분한다.
MOD(숫자1, 숫자2) - 숫자1을 숫자2로 나누고, 나머지 값을 리턴한다
%와 같은 기능이다. (나머지 구하기)
CELL/CELLING(숫자) - 숫자보다 크거나 같은 최소 정수를 리턴한다.
FLOOR(숫자) - 숫자보다 작거나 같은 최대 정수를 리턴한다.
ROUND(숫자, m) - 숫자를 소수점 m자리에서 반올림해서 리턴한다.
TRUNC(숫자, m) - 숫자를 소수 m자리에서 잘라서 버린다.
m이 생략되면 디폴트 값은 0이다.
SQL Server에서 TRUNC 함수는 제공하지 않는다.
SIN, COS, TAN - 숫자의 삼각함수 값을 리턴한다.
EXP(숫자) - 숫자의 지수 값을 리턴한다.
POWER(숫자1, 숫자2) - 숫자의 거듭제곱 값을 리턴한다.
숫자 1의 숫자 2만큼의 제곱값을 리턴한다.
SQRT(숫자) - 숫자의 제곱근 값을 리턴한다.
LOG(숫자1, 숫자2) - 숫자 1을 밑수로 하는 숫자2의 로그 값을 리턴한다. (SQL Server에서는 LOG(숫자2, 숫자1)로 이용한다.
LN(숫자) - 숫자의 자연 로그 값을 리턴한다. (SQL Server에서 LN 함수는 제공하지 않는다)
--------------------------------------------------
# 날짜형 함수
SYSDATE / GETDATE() - 현재 날짜와 시각을 출력한다.
EXTRACT('YEAR'|'MONTH'|'DAY' FROM d) /
DATEPART('YEAR'|'MONTH'|'DAY', D) - 날짜 데이터에서 연월일 데이터를 출력할 수 있다. 시분초도 가능하다.
TO_NUMBER(TO_CHAR(d,'YYYY')) /
YEAR(d),
TO_NUMBER(TO_CHAR(d,'MM')) /
MONTH(d),
TO_NUMBER(TO_CHAR(d,'DD')) /
DAY(d) - 날자 데이터에서 연월일 데이터를 출력할 수 있다.
Oracle EXTRACT YEAR/MONTH/DAY 옵션이나 SQL Server DEPART YEAR/MONTH/DAY 옵션과 같은 기능이다.
TO_NUMBER 함수 제외 시 문자형으로 출력 된다.
--------------------------------------------------
# 변환형 함수
## 명시적(Explicit) 데이터 유형 변환 - 데이터 변환형 함수를 사용해 데이터 유형을 변환하도록 명시해 주는 경우
TO_NUMBER(문자열) / CAST (expression AS data_type [(length)] - 숫자로 변환 가능한 문자열을 숫자로 변환한다.
expression을 목표 데이터 유형으로 변환한다.
TO_CHAR (숫자|날짜 [ , FORMAT]) / CONVERT (data_type [(length)],
expression [ , style]) - 숫자나 날짜를 주어진 FORMAT 형태인 문자열 타입으로 변환한다.
expression을 주어진 style 형태인 목표 데이터 유형으로 변환한다.
TO_DATE (문자열 [ , FORMAT]) / CONVERT (data_type [(lenth)],
expression [ , style ]) - 문자열을 주어진 FORMAT 형태인 날짜 타입으로 변환한다.
expression을 주어진 style 형태인 목표 데이터 유형으로 변환한다.
암시적(Implicit) 데이터 유형 변환 - 데이터베이스가 자동으로 데이터 유형을 변환해 계산하는 경우
'개발일지 > SQL' 카테고리의 다른 글
SQL 기초2 기본문법 사용 순서 및 PostgreSQL 리뷰 (0) | 2022.08.19 |
---|---|
SQL 기초 1 DISTINCT, COUNT (0) | 2022.08.18 |
SQLD 자격증 2 기본 주석 (0) | 2022.08.09 |
SQLD 자격증 1 환경설정 (0) | 2022.08.09 |
SQL 데이터베이스 데이터 가져오기 (0) | 2022.07.08 |