한바다
SQL 함수 LENGTH,INSTR,SUBSTR 본문
✅ SQL 함수는 컬럼값이나 지정된 값을 읽어 연산한 결과를 반환 한다.
함수는 SELECT절, WHERE절, ORDER BY 절, GROUP BY 절, HAVING절 사용가능 하다.
- SELECT절 : 찾는 기준이 아닌, 눈으로 표기되는 총합, 계산 결과 등에 대한 것으로 눈으로 봤을 때
정리해 놓은 컬럼 정리해서 보여주자!
- WHERE절 : 찾는 조건이 되는 행을 작성
길이, 크기, 결과가 조건에 부합하는 결과만 볼 수 있도록 설정
+ 테이블에서 조건을 충족하는 행을 조회 할 때 사용
WHERE 절에는 조건식 만 사용
비교연산잔 : >, < , <=, >= , !=, <>(같지 않다)
논리연산자 : AND, OR, NOT
-> 내가 원하는 조건만 보여줘!
✔️ 문자열 관련 함수
-- LENGTH : 문자열의 길이 반환
[코드] 부서코드가 2글자인 직원 조회 / 아이디, 이름, 부서코드
SELECT EMP_ID, EMP_NAME, JOB_CODE
FROM EMPLOYEE
WHERE LENG
WHERE LENGTH(JOB_CODE) =2;
-- INSTR : 찾을시작 위치부터 지정된 순번째 찾은 문자열의 시작위치를 반환
[코드] 전화번호가 010이 포함된 직원 조회
SELECT EMP_ID,EMP_NAME,PHONE
FROM EMPLOYEE
WHERE INSTR(PHONE,'010') > 0;
SELECT EMP_ID,EMP_NAME,PHONE
FROM EMPLOYEE
WHERE PHONE LIKE '%010%';
-- SUBSTR : 문자열을 시작 위치부터 지정된 길이만큼 잘라내서 반환
길이를 작성하지 않은 경우 시작 위치부터 끝까지 잘라내서 반환
[코드]
SELECT EMP_NAME,SUBSTR(EMAIL,1,INSTR(EMAIL,'@') -1) AS "이메일아이디"
FROM EMPLOYEE
ORDER BY "이메일 아이디";
// INSTR(EMAIL,'@') 이메일 주소에서 @ 위치를 찾음
// 찾은 다음에 @가 표시되면 안되기 때문에 -1 설정을 해서 @ 제거
// 결국엔 INSTR(EMAIL,'@') 는 숫자값
[코드] 이메일 @ 뒤에 있는 도메인 추출
SELECT EMP_NAME, SUBSTR(EMAIL,INSTR(EMAIL,'@')+1 AS "도메인"
FROM EMPLOYEE;
--- 앞에서 부터 값을 가지고 올 때는 + 를 작성해 주지만
-- 뒤에서 부터 값을 가지고 오길 원할 때는 -를 작성