Acorn Academy 11-15

Bae Seong Jun·2023년 11월 15일

Acorn academy

목록 보기
2/70

Like 연산자 * * * * *

  • 기능 : 전체가 아닌 일부의 문자가 문자열 내에 일치하는 부분이 있는지 검색하여 TRUE/FALSE를 반환한다.
  • WHERE 컬럼명 LIKE 패턴값
  • 문자열 내에서 특정 문자가 존재하는지 판별하는 구문.

와일드카드 문자
% : % 위치에 0개 이상의 문자(열)과 대체
: 위치에 반드시 1개 문자와 대체

Escape 문자
where 컬럼명 like '%$_%' escape '$'
설정한 이스케이프 문자 다음에 오는 와일드카드 문자는 그냥 문자열로 출력된다.

논리연산자
AND OR NOT

NOT

  • NOT LIKE
  • NOT IN
  • NOT BETWEEN

논리연산자의 우선순위
() > NOT > 비교연산자 >AND > OR

출력 값의 정렬 ORDER BY

  • 오름차순, 내림차순
  • COLUMN 기준 정렬
  • INDEX 값 기준 정렬
  • 별칭 기준 정렬
  • 수치, 날짜, 문자 등 모든 데이터 정렬 가능

다중 데이터 정렬

  • order by {column, 표현식}[ASC,DESC], {column, 표현식}[ASC,DESC];
  • 첫번째 정렬 후 그 순서 내에서 동일한 값을 2번째 표현식으로 추가 정렬함.

함수

  • 단일함수 : 여러 값을 넣어서 동일한 양의 결과값
  • 그룹함수 : 여러 값을 넣어서 하나의 결과값 (예: 평균 구하기)

INITCAP()

  • 문자열의 첫 영문만 대문자로 변환
    UPPER()
    LOWER()
    CONCAT()
  • SELECT CONCAT(A, B) : A, B 문자열을 합체 (여러문자열은 ||로 결합)
    중요 LENGTH()
  • 문자열의 길이를 반환

INSTR()

  • SELECT INSTR(컬럼명|표현식, 검색값, [m, n])
  • 특정 문자가 나타나는 위치를 반환
  • m은 문자를 검색하기 위한 시작 위치값
  • n은 몇 번째로 나오는 문자를 검색할지를 나타낸다.

중요!! SUBSTR()

  • SUBSTR(컬럼명|표현식, m, [n])
  • 문자열에서 일부분의 문자열을 추출할 때 사용하는 함수.
  • m은 추출할 문자열의 시작 인덱스값
  • n은 반환받을 문자열의 갯수 / 없을시 문자열의 끝까지

--------- 여기까지 오전 수업 정리 -------------

단축키

  • CTRL + F7
  • CTRL + /

--------------------------오후 --------------

REPLACE 함수
LPAD, RPAD 함수
PAD( 컬럼명|표현식, n , 'str' )
사용예 LPAD('MILLER' , 10 , '*' )

TRIM, LTRIM, RTRIM 함수
TRIM( LEADING 'str' FROM 컬럼명|표현식 )
TRIM( TRAILING 'str' FROM 컬럼명|표현식 )
TRIM( BOTH 'str' FROM 컬럼명|표현식 )

ROUND 함수
TRUNC 함수
MOD 함수
CELL 함수
FLOOR 함수
SIGN 함수

------날짜 함수-----
SYSDATE : 오늘 날짜를 반환함
NLS_SESSION_PARAMETERS :
-- 대문자로 입력해야함.
-- 위 명령어는 오라클에 저장되어있는 설정값들을 보기 위한 명령어임.
-- NLS_DATE_FORMAT RR/MM/DD 위에서 이걸 보면 오라클이 사용중인 데이트 포멧을 볼 수 있음

MONTHS_BETWEEN()

ADD_MONTHS()

NEXT_DAY()

LAST_DAY()

ROUND(날짜, {'YEAR'/'MONTH'})
TRUNC(날짜, {'YEAR'/'MONTH'})

-- 변환 함수 * * * * *
-- 묵시적 :
-- 명시적 :

-- 묵시적 형변환들

  • 명시적 형변환들

  • TO_CHAR() : 날짜 타입 데이터를 문자형태로 변경. 출력 형식을 입력하여 정할 수 있음.
    -- TO_CHAR( number|date, 'format')
    -- TO_CHAR 함수는 숫자 및 날짜를 문자로 변환하기 위해서 사용되며 데이터 형 변환시 추가로 출력 형식을 지정할 수 있다.

-- 숫자 출력 형식
-- 달라$, 로케일L 은 이 중에 더욱 중요해두니 기억해두기
SELECT ENAME, SAL, TO_CHAR(SAL, '$999,999') 달라 FROM EMP;
SELECT ENAME, SAL, TO_CHAR(SAL, 'L999,999') 원화 FROM EMP;

-- TO_NUMBER() 문자를 숫자로 명시적 형변환
SELECT '123' + 100 FROM DUAL;

-- DO_DATE
-- 문자열 형태 날짜 -> 날짜 타입 데이터

SELECT TO_DATE('20170802', 'YYYYMMDD') FROM DUAL; -- 오라클은 RR//MM/DD를 써서 이게 제대로 변환이 안된다. 임의이 명령어로 YY/MM/DD 쓰게끔 변경해야함
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS';
SELECT TO_DATE('201708021810:30', 'YYYYMMDDHH24MI:SS') FROM DUAL; -- 앞과 뒤의 값의 형식을 정확히 맞춰야 변환이 된다.

------워크샵--------

SELECT PROFESSOR_NAME FROM TB_PROFESSOR WHERE DEPARTMENT_NO IS NULL;

SELECT STUDENT_NO, STUDENT_NAME, STUDENT_SSN FROM TB_STUDENT
WHERE
TO_CHAR(ENTRANCE_DATE, 'YY') = '02' -- ENTRANCE_DATE LIKE '%02%'
AND STUDENT_ADDRESS LIKE '%전주%'
AND ABSENCE_YN = 'N';

SELECT STUDENT_NO, STUDENT_NAME, STUDENT_SSN FROM TB_STUDENT
WHERE
ENTRANCE_DATE LIKE '%02%'
AND STUDENT_ADDRESS LIKE '%전주%'
AND ABSENCE_YN = 'N';

-- 159~200 페이지까지 교재 PDF 파일 읽어오기 * * * * *

profile
코딩 프로?

0개의 댓글