티스토리 뷰
SELECT 문
저장되어 있는 데이터를 조회할 때 사용
산술 연산자 우선순위
| 우선순위 | 연산자 | 의미 |
| 1 | () | 우선순위 조정 |
| 2 | * | 곱하기 |
| / | 나누기 | |
| 3 | + | 더하기 |
| - | 빼기 | |
| % | 나머지 |
SQL문에 사용되는 함수
| 문자 함수 | 설명 | 사용 | 결과 |
| CHR(ASCII 코드) | ASCII 코드를 인수로 입력했을때 매핑된 문자를 리턴 | CHR(65) | A |
| LOWER(문자열) | 문자열을 소문자로 변환해주는 함수 | LOWER('KIM') | kim |
| UPPER(문자열) | 문자열을 대문자로 변환해주는 함수 | UPPER('kim') | KIM |
| LTRIM(문자열 [,특정문자]) | 특정문자를 따로 명시하지 않은 경우 문자열의 왼쪽 공백을 제거한다. 명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았을 경우 멈춘다. |
||
| SELECT LTRIM('아이유', '아이') FROM DUAL; | '유' | ||
| RTRIM(문자열 [,특정문자]) | 특정문자를 명시하지 않은 경우 문자열의 오른쪽 공백을 제거한다. 명시해주었을 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정 문자에 포함되어 있으면 제거하고 포함되지 않았을 경우 멈춘다 |
||
| SELECT('아이유', '이유') FROM DUAL; | '아' | ||
| TRIM([위치][특정문자][FROM] 문자열) | 옵션이 하나도 없을 경우 문자열의 왼쪽과 오른쪽 공백을 제거한다. 그렇지 않을 경우 문자열을 위치로 지정된곳부터 특정 문자와 비교하여 같으면 제거한다. |
||
| TRIM(LEADING '블' FROM '블랙핑크') | '랙핑크' | ||
| SUBSTR(문자열, 시작점 [,길이]) | 문자열의 원하는 부문만 잘라서 변환한다 길이를 명시하지 않으면 문자열의 시작점부터 끝까지 반환한다. | ||
| SELECT SUBSTR('우유빛깔 아이유', 6, 3); | 아이유 | ||
| LENGTH(문자열) | 문자열의 길이를 반환해주는 함수이다 | ||
| SELECT LENGTH('아이유') FROM DUAL; | 3 | ||
| REPLACE(문자열, 변경전 문자열, [,변경후 문자열]) | 문자열에서 변경 전 문자열을 찾아 변경 후 문자열로 바꿔주는 함수이다. 변경 후 문자열을 명시해 주지 않으면 해당 문자를 제거한다 |
| SELECT REPLACE('우유빛깔 아이유', '우유빛깔', '우주최강') FROM DUAL; | |
| '우주최강 아이유' | |
| LPAD(문자열, 길이, 문자) | 문자열이 설정한 길이가 될 때까지 왼쪽을 특정 문자로 채우는 함수이다. |
| LAPD('아이유', 10, 'V') FROM DUAL; | |
| 'VVVVVVV아이유' | |
숫자함수
| ABS(수) | 수의 절대값을 반환해주는 함수이다. |
| ABS(-10) | |
| 10 | |
| SIGN(수) | 수의 부호를 반환해주는 함수이다. 양수면 1, 음수면 -1을 반환한다 |
| SIGN(-10) | |
| -1 | |
| ROUND(수, [,자릿수]) | 수를 지정된 자릿수까지 반올림하여 변환해준다. |
| ROUND(189.23, 1) FROM DUAL; | |
| 189.2 | |
| ROUND(189.23, -1) FROM DAUL; | |
| 190 | |
| TRUNC(수, [,자릿수]) | 수를 지정된 소수점까지 버림한다. |
| SELECT TRUNC(54.29, 1) FROM DUAL; | 54 |
| SELECT TRUNC(54.29, -2) FROM DUAL; | 50 |
| CEIL(수) | 소수점 이하의 수를 올림한 정수를 반환한다 |
| SELECT CEIL(72.86) FROM DUAL | 73 |
| SELECT CEIL(-33.4) | -33 |
| FLOOR(수) | 소수점 이하의 수를 버림한 정수를 반환한다 |
| SELECT FLOOR(22.3) FROM DUAL; | 22 |
| SELECT (-22.3) FROM DUAL; | -23 |
| MOD(수1, 수2) | 수1을 수2로 나눈 나머지를 반환한다 |
| SELECT MOD(15, 7) FROM DUAL; | 1 |
| SELECT MOD(-19, -3) FROM DUAL | -1 |
날짜 함수
| SYSDATE | 현재의 연, 월, 일, 시, 분, 초를 반환한다 |
| SELECT SYSDATE FROM DAUL; | |
| 2025-03-03-02:19:02 | |
| EXTRACT(특정 단위 FROM 날짜 데이터) | 날짜 데이터에서 특정단위 만을 출력해서 반환해주는 함수 |
| SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL |
|
| 2025 | |
형변환 함수
SQL 에서 변환에는 명시적 변환과 암시적 변환이 있다.
| 형변환 | |
| 명시적 변환 | 개발자가 함수를 이용에 직접 변환한 경우 |
| 암시적 변환 | 프로그램이 연산도중에 스스로 변환한 경우 |
| TO_NUMBER(문자열) | 문자열을 숫자형으로 면환해주는 함수 |
| TO_NUMBER('1234') | 1234 |
| TO_CHAR(수 or 날짜) | 수나 날짜형의 데이터를 포맷 형식의 문자형으로 변환해주는 함수 |
| TO_CHAR(1234) | '1234' |
| TO_DATE(문자열, 포맷) | 포맷 형식의 문자형의 데이터를 날짜형으로 변환해주는 함수 |
| TO_DATE('20250303', 'YYYYMMDD') | 2025-03-03 |
| 포맷 표현 | 의미 | 포맷표현 | 의미 |
| YYYY | 년 | HH | 시(12) |
| MM | 월 | HH24 | 시(24) |
| DD | 일 | MI | 분 |
| SS | 초 |
NULL 관련 함수
| NVL(인수1, 인수2) | 인수 1의 값이 NULL 일때 인수 2를 반환하고 아닐때 인수 1을 반환 |
| SELECT NVL(NULL, 1) FROM DUAL; | 1 |
| SELECT NVL(1, 2) FROM DUAL; | 1 |
| NULLIF(인수1, 인수2) | 인수1과 인수2가 같으면 NULL을 반환하고 같지 않으면 1을 반환 |
| SELECT NULLIF(1, 1) FROM DUAL; | NULL |
| SELECT NULLIF(1, 2) FROM DUAL; | 1 |
| COALESCE(인수1, 인수2, 인수3) | NULL 이 아닌 최초의 인수를 반환한다. |
| SELECT COALESCE(NULL, NULL, 3) FROM DUAL; | 3 |
| SELECT COALESCE(NULL, 2, 3) FROM DUAL; | 2 |
| NVL2(인수1, 인수2, 인수3) | 인수1이 NULL 이 아닌 경우 인수2를 반환하고 NULL 이면 인수 3을 반환한다. |
| SELECT NVL2(1, 2, 3) FROM DUAL; | 2 |
| SELECT NVL2(NULL, 2, 3) FROM DUAL; | 3 |
case 함수 사용방법
| CASE 함수 사용법 | |
| CASE WHEN MENU='1' THEN 'PIZZA' WHEN MENU='2' THEN 'CHICKEN' WHEN MENU='3' THEN 'HAMBURGER' [ELSE 'BEER'] END |
|
| CASE MENE WHEN '1' THEN 'PIZZA' WHEN '2' THEN 'CHICKEN' WHEN '3' THEN 'HAMBURGER' [ELSE 'BEER'] END |
|
| DECODE (MENU, '1', 'PIZZA', '2', 'CHICKEN', '3', 'HAMBURGER' [,'BEER']) |
'데이터' 카테고리의 다른 글
| SQL 기본 함수 설명 주의사항 (0) | 2025.03.04 |
|---|---|
| SQL 기본 함수 설명2 (0) | 2025.03.04 |
| 트랜잭션과 NULL (0) | 2025.03.03 |
| 정규화 (0) | 2025.03.03 |
| 데이터 모델링 (0) | 2025.03.02 |

