단일행함수 - 문자함수, 문자조작함수, 숫자함수, 날짜함수, 변환함수

gummy·2022년 12월 22일
0

국비일지

목록 보기
22/30

221222 목요일

단일행함수

1. 문자함수

📚 대소문자 변환함수

① lower

lower('SQL Course')

👉 sql course

② upper

upper('SQL Course')

👉 SQL COURSE

③ initcap

initcap('SQL Course')

👉 SQL Course

📚 문자 조작함수

①concat(expr1, expr2)

  • 두 인수를 연결해주는 함수
select concat(first_name, last_name) as name
from employees;

(==)

select first_name || last_name as name
from employees;
  • oracle에 있는 concat은 두개의 인수만 연결 된다.
    ✅ 두개 이상을 연결하고 싶다면 ?
         중첩해서 쓰면 가능하다! 또는 연결연산자와 같이 쓰면된다.
select concat(concat(first_name, last_name),job_id) as name
  • 연결연산자 ||는 n번 연결가능하다.
select first_name || last_name as name || job_id as name

②substr(expr1,expr2,expr3)

  • 문자열의 일부분을 반환해주는 함수
  • expr1 : 반환할 문자열
    expr2 : 시작위치
              (음수일 때 → 시작위치를 끝에서부터 찾아온다.)
    expr3 : 반환할 문자수
              (생략가능 → 시작위치에서 끝까지 반환한다.)
    substr('HelloWorld', 1, 5)

👉 Hello

③ length(expr1)

  • 문자열의 길이를 반환해주는 함수
length('HelloWorld')

👉 10

④ instr(expr1, expr2)

  • 문자열 (expr1)로부터 특정 문자 (expr2)의 첫번째 위치값을 반환해주는 함수
instr('HelloWorld','W')

👉 6

⑤ lpad(expr1,expr2,expr3) / rpad(expr1,expr2,expr3)

  • 오른쪽 정렬 / 왼쪽 정렬을 해주는 함수
  • expr1 : 반환할 문자열
    expr2 : 전체 자리수
    expr3 : 남는 공간을 채울 문자
lpad('Hello',10 ,'*')

👉 *****Hello

rpad('Hello',10 ,'*')

👉 Hello*****

⑥ replace(expr1,expr2,expr3)

  • 문자열(expr1)로부터 특정문자(expr2)를 다른문자(expr3)로 교체해주는 함수
replace('JACK and JUE', 'J', 'BL')

👉 BLACK and BLUE

⑦ trim(expr1 from expr2)

  • 문자열(expr2)로부터 특정문자(expr1)가 접두어/접미어에 있다면 삭제(절단)해주는 함수
trim('H' From 'HelloWorld')

👉 elloWorld

2. 숫자함수

  • mysql에서만 from절 생략이 가능하고, oracle에서는 생략할수없다.
    👉 dual 테이블을 사용한다.

dual 테이블 : 함수 및 계산 결과를 볼 때 사용하는 공용 테이블 (공개된 테이블)

3.날짜함수

4. 변환함수

[날짜 형식 요소]

  • YY / RR : 숫자로 된 2자리값 연도

  • 문자로 출력되는 날짜 형식 요소(YEAR, MONTH, MON, DY, DAY)는 대소문자 구분함

  • HH (오전 3시이든 오후 3시든 03)
    HH24 (오전 3시 03 / 오후3시 15) : MI : SS → 시분초

<Oracle DBMS 기준 SQL에 큰따옴표(" ")가 사용되는 경우>

1.컬럼명 [AS] "Alias"
                    →대소문자 구분, 공백포함, 특수문자포함 ( _, #, $ 제외)

2. to_char(sysdate, 'YYYY-MM-DD "Time" HH24:MI')
                                            → 사용자형식 내 문자열 포함시

  • fm : 선행하는 공백, 0을 제거하는 요소
    ex) DD => 01, 02, 03
         fmDD => 1, 2, 3

0개의 댓글