Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

한바다

SQL 함수 LENGTH,INSTR,SUBSTR 본문

카테고리 없음

SQL 함수 LENGTH,INSTR,SUBSTR

한바다진화 2024. 5. 31. 21:14

✅  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;

--- 앞에서 부터 값을 가지고 올 때는 + 를 작성해 주지만

-- 뒤에서 부터 값을 가지고 오길 원할 때는 -를 작성