추가적인 SQL 함수

Lyoka료카·2023년 5월 10일

SQL / JSP

목록 보기
7/7

연산자

= : 같다
!=, ^=, <> : 같지 않다
=, <=, >, < : 크거나 같다, 작거나 같다, 크다, 작다
and, or, between and, in, like, is null, is not null

[ 단일행 함수 ]

  1. 숫자함수 : mod(나머지), round(반올림), trunc(내림), ceil(올림)
  2. 문자함수 : lower, upper, length, substr, ltrim(왼쪽 공백 제거),
    rtrim(오른쪽 공백 제거), trim
  3. 날짜함수 : sysdate(시스템 날짜), add_month(지금부터 몇 달 뒤), month_between(월과 월 사이에 흐른 시간)

[ 날짜형식 ]

YYYY : 네자리연도(숫자) (ex. 2005)
YEAR : 연도(문자)
MM : 두자리 값으로 나타낸 달 (ex. 01, 08, 12)
MONTH : 달 전체이름 (ex. January)
MON : 세자리 약어로 나타낸 달 (ex. Jan)
DY : 세자리 약어로 나타낸 요일 (ex. Mon)
DAY : 요일전체 (ex. Monday)
DD : 숫자로 나타낸 달의 일 (ex. 31, 01)
HH, HH24(24시간제)
MI
SS


[ 숫자형식 ]

숫자형식 설명

9 : 숫자를 표시
0 : 0을 강제로 표시
$ : 부동$기호를 표시
L : 부동 지역통화기호 표시
. : 소수점출력
, : 천단위 구분자 출력

사용방법

9[9로 출력 자릿수 지정] : TO_CHAR(salary, '99999999') - 24000
0[자릿수만큼 0을 출력] : TO_CHAR(salary, '09999999') - 00024000
$[달러 기호] : TO_CHAR(salary, '$9999999') - $24,000
L[지역 화폐 기호()] : TO_CHAR(salary, 'L9999999') - \24,000
.[명시한 위치에 소수점] : TO_CHAR(salary, '999999.99') - 24000.00
,[명시한 위치에 쉼표] : TO_CHAR(salary, '99,999,999') - 24,000

[ 그룹(집합)함수 ]

avg : 평균
sum : 총합
max : 최댓값
min : 최솟값
count

COUNT(*) : 테이블의 모든 ROW의 수를 센다.
COUNT(column) : 해당 COLUMN이 NOT NULL인 ROW의 수만 센다.
COUNT(DISTINCT column)
: 해당 COLUMN의 중복을 제거하고 NOT NULL인 ROW의 수를 센다.


[ 기타함수 ]

NVL 관련

NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력한다.

  • 함수 : NVL("값", "지정값")

NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력한다.

  • 함수 : NVL2("값", "지정값1", "지정값2")
  • 함수 : NVL2("값", "NOT NULL", "NULL")

DECODE

DECODE 함수는 프로그래밍에서의 if else 와 비슷한 기능을 수행한다. 간단한 사용방법은 아래와 같다.

  • 함수 : DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3..........)

CASE WHEN

CASE 대상값 WHEN1 THEN 결과1
            WHEN2 THEN 결과2
                        .
                        .
                        .
            WHEN 값n THEN 결과m END;

substr

substr(문자열, 시작위치)
substr(문자열, 시작위치, 길이)

SUBSTR과 같은 기능이지만 다른 형태의 문자를 사용하는경우
아래 함수를 사용하시면 됩니다. 문법은 동일합니다.

SUBSTRB = 문자 대신 바이트 사용
SUBSTRC = 유니코드 문자 사용
SUBSTR2 = UCS2 코드단위 사용
SUBSTR4 = UCS4 코드포인트 사용

INSTR

INSTR ( [문자열], [찾을 문자 값], [찾기를 시작할 위치(1,-1)], [찾은 결과의 순번(1...n)] )

length

length('문자열') : 문자열의 길이

profile
고딩 프로그래머

0개의 댓글