본문 바로가기
Back-end

SQL 문법(1)

by 신재권 2021. 7. 11.
문법 설명
SELECT DISTINCT 열 중복 제거
AS 별칭 별칭 설정
ORDER BY 열지정 (정렬옵션) 오름차순 ASC, 내림차순 DESC
AND 조건 WHERE절에서 조건 연결
OR 조건 WHERE절에서 조건 연결
!=, <>, ^= 서로 다르면 TRUE 반환
NOT 논리 부정 연산(TRUE->FALSE,역 성립)
WHERE 열이름 IN(데이터1,...) OR연산 여러개 묶음
(NOT) BETWEEN A TO B AB사이 데이터 조회
LIKE ‘%S_’ 문자데이터 검색
IS (NOT) NULL NULL여부 확인
UNION 집합연산, 열의 타입 같아야함(중복 X)
UNION ALL 중복허용, AB (합집합)
MINUS A-B (차집합)
INTERSECT AB (교집합)
UPPER(문자열) 문자열을 모두 대문자로 변환하여 반환
LOWER(문자열) 문자열을 모두 소문자로 변환하여 반환
INITCAP(문자열) 첫문자만 대문자, 나머지는 소문자
LENGTH(문자열) 문자열 길이 반환(비교 연산 가능)
SUBSTR(문자열, 시작위치, [추출 길이]) 문자열 일부 추출
INSTR(문자열, 찾는 문자, [시작], [몇 번째 문자]) 문자열 데이터 안에서 특정 문자 위치 찾음
REPLACE(문자열, 찾는문자, [대체할문자]) 특정 문자를 다른 문자로 대체
LPAD(문자열, 데이터자릿수, [채울문자]) 왼쪽 빈공간을 지정된 문자로 채움
RPAD(문자열, 데이터자릿수, [채울문자]) 오른쪽 빈공간을 지정된 문자로 채움
CONCAT(문자열1, 문자열2) 문자열 합침
문자열1 || 문자열 2 문자열 합침
TRIM([삭제옵션][문자] FROM 문자열) 특정 문자 삭제
LTRIM(문자열,[삭제할 문자]) 왼쪽 문자 삭제
RTRIM(문자열,[삭제할 문자]) 오른쪽 문자 삭제
ROUND(숫자,[반올림위치]) 반올림
TRUNC(숫자, [버림 위치]) 내림
CEIL(숫자) 가까운 정수중 큰 정수
FLOOR(숫자) 가까운 정수중 작은 정수
MOD(숫자1,숫자2) 숫자1%숫자2, 나머지 연산
SYSDATE 현재 날짜/시간
ADD_MONTHS(날짜, 더할 개월(정수)) 날짜에 개월을 더함
MONTHS_BETWEEN(날짜1, 날짜2) 날짜1-날짜2, 개월수 차이(소수점까지)
NEXT_DAY(날짜, 요일문자) 돌아오는 요일의 날짜를 반환(‘월요일’)
LAST_DAY(날짜) 날짜가 속한 달의 마지막 날짜 출력
ROUND(날짜, 반올림 기준 포맷) 반올림
TRUNC(날짜, 버림 기준 포맷) 내림
CC, SCC 네 자리 연도의 끝 두자리를 기준
SYYYY,YYYY,YEAR,SYEAR,YYY,YY,Y 71일 기준
IYYY,IYY,IY,I ISO 지정 기준날짜 포맷 기준
Q 분기의 두 번째 달의 16일 기준
MONTH, MON, MM, RM 달의 16일 기준
WW 연도의 몇 주(1~53) 기준
IW ISO 지정 연도의 주 기준
W 해당 월의 주(1~5)를 기준
DDD, DD, J 해당 일의 정오 기준
DAY, DY, D 한주가 시작되는 날짜를 기준
HH, HH12, HH24 해당 일의 시간 기준
MI 해당일 시간의 분을 기준
TO_CHAR(날짜, 문자형태) 날짜->문자
CC 세기
YYYY,RRRR (4자리 숫자)
YY,RR (2자리 숫자)
MM (2자리 숫자)
MON (언어별 월 이름 약자)
MONTH (언어별 월 이름 전체)
DD (2자리 숫자)
DDD 1년 중 며칠
DY 요일(언어별 요일 이름 약자)
DAY 요일(언어별 요일 이름 전체)
W 1년 중 몇 번째 주
TO_CHAR(날짜, 문자형태),‘[NLS_DATE_LANGUAGE = language’]) 원하는 언어 양식으로 변경
TO_CHAR(날짜, 시간형식) 날짜(시간)->문자
HH24 24시간으로 표현한시간
HH, HH12 12시간으로 표현한 시간
MI
SS
AM,PM,A.M,P.M 오전,오후 표시
TO_CHAR(숫자, 형식) 숫자->문자
9 숫자의 한자리 의미(빈자리를 채우지 않음)
0 빈자리를 0으로 채움
$ 달러($)표시를 붙여서 출력
L L(Locale) 지역 화폐 단위 기호를 붙여 출력
. 소수점 표시
, 천 단위 구분 기호 표시
TO_NUMBER(문자, 숫자형태) 문자-> 숫자
TO_DATE(문자, 날짜형태) 문자->날짜
NVL(검사데이터, NULL일 경우 반환할 데이터) NULL일 경우 지정된 데이터를 반환
NVL2(검사데이터, 아닐 경우, 맞을 경우) NULL검사후 지정된 데이터 반환
DECODE(검사대상,조건1, TRUE일시 반환,...) 조건문, END로 끝남
CASE 데이터 WHEN 조건1 THEN 반환결과,...ELSE(해당안될시실행) 조건문, END로 끝남