본문 바로가기
데이터베이스/기초 SQL 입문

문자 숫자 함수

by 스키피땅콩버터 2020. 9. 6.
반응형

줄마다 작용하는 함수  = (단일 행 함수)

이 단일 행 함수 중에서 문자 함수 활용하기

 

1. 문자 함수 사용하기

 - 데이터 조작을 위해 사용함

 - 인자(Argumenet)를 이용해 작업 수행 후 결과를 반환함

 - 행 당 하나의 결과를 반환

 - SELECT, WEHRE, ORDER BY절에 사용할 수 있음

 -  중첩 사용이 가능함

 


*단일 행 함수의 종류

문자 함수 :  문자를 입력하면 문자 또는 숫자 값을 반환함
숫자 함수 :  숫자를 입력하면 숫자 값을 반환함
날짜 함수 :  날짜 유형의 값을 연산함
변환 함수 : 데이터 유형을 변환함
기타 함수 :  타입에 상관없이 적용이 가능함

함수 내용
LOWER 대상 문자열을 모두 소문자로 변환
UPPER 모든 문자를 대문자로 변경함
INITCAP 문자열 단어의 첫 문자는 대문자 나머지는 소문자로 변경
CONCAT(s1, s2) 두 문자열을 연결
SUBSTR(s, m, n) 문자열 중 지정한 위치에서 지정한 길이만큼의 문자열 추출
LENGTH(s) 문자의 길이를 숫자 값으로 표시
CHR(n) ASCII코드 값인 n인 문자 반환
ASCII(s) S문자의 ASCII 코드값 반환

 

예제 1) Lower

결괏값이 대문자로 조회되는 것을 확인할 수 있다.

ENAME칼럼이 모두 소문자로 바뀌여 보이는 것을 확인할 수 있다.

 

예제 2) INITCAP 함수

INITCAP 함수를 사용해서 첫 글자만 대문자로 출력

 

 

예제 3) length 함수 (글자수를 알 고 싶을 때)

 

 

예제 4) 글자가 4글자인 애들만 또 뽑아서 보고 싶을 때 

SELECT 절에 넣어주어도 되고, WHERE절에 넣어주어 도된다.

 

 

예제 5) SUBSTR 서브스트링

위치마다 지정되어있다.(대상, 1, 20) 

대상: 어디서 뽑을 것인지

1: startpoint 시작점

20 : 개수 

즉, 후기에서 첫 번째 글자부터 20 개를 뽑을 것이다.


*문자 함수 

함수 내용
LPAD(s1, n, s2) 문자열을 제외한 왼쪽 공간에 지정한 문자로 채움
RPAD(s1, n, s2) 문자열을 제외한 오른쪽 공간지정한 문자로 채움
LTRIM(s, c) 대상 문자열의 오른쪽 부터 지정한 문자들을 제거 
RTRIM(s, c) 대상 문자열의 왼쪽부터 지정한 문자들을 제거 
TRIM 앞, 뒤에 나오는 특정 문자를 제거 
TRANSLATE(s, from to) 첫 문자는 탐색집합의 첫 문자로 대체 (2 번째도 동일)
REPLACE(s, p, r) 특정 문자열을 다른 문자열로 대체

 

1) LPAD, RPAD 지정 한문자를 붙여주어 글자 수를 맞추어 줄 때 사용

 

2) LTRIM 왼쪽에 제거하고 싶은 문자가 있을 때 사용해준다.

지금은 'A'라는 문자를 제거하고 추력 하는 모습 볼 수 있다. (중간에 들어간 A는 제거 안됨.)

가장 왼쪽에 해당 문자가 나오면 제거하고 출력

 

 

3) RTRIM 오른쪽에 제거하고 싶은 문자가 있을 때 사용해준다.

(연달아서 나올 땐 제거 가능!! 중간에 들어간 문자는 제거 안됨.)

가장 오른쪽에 해당 문자가 나오면 제거하고 출력

 

4TRIM : 끝에 나오는 문자열이나 공백을 제거할 수 있다.

(제거할 문자를 맨 앞에 먼저 작성, 제거하고자 하는 칼럼을 뒤에 FROM 칼럼) 적어준다.

왼쪽에 오른쪽에 해당하는 문자 둘 다 제거하여 보여준다.

양방향 제거  TRIM 

 

5) REPLACE 단어를 바꾸고 싶을 때

ename에서 'CO'가 나오면 *?로 바꿔준다.

 

6) TRANSLATE 따로한 글자씩 바꾸고 싶을 때

'CO'두 글자를 바꿔주는 것이 아니라 C 들어가면 바꿔주고 O라는 단어 들어가면 바꿔주고 

이처럼 단독적으로 한 글자씩 바뀌는 것을 볼 수 있다.

 


*숫자 함수

함수 내용
ROUND 지정된 자리로 반올림 수행
TRUNC 지정된 자리에서 버림 수행
MOD(M,N) M을 N으로 나눈 나머지
ABS 숫자 값을 절대값으로 바꾼다 
FLOOR 해당 수보다 작거나 같은 정수 중 가장 큰 정수 값을 리턴
CEIL 해당 수보다 크거나 같은 정수 중 가장 작은 정수값을 리턴
SIGN 숫자가 양수면 1, 음수면 -1, 0이면 0을 반환
POWER(M,N) m의 n승 

1) ROUND 반올림 함수

, 다음 2  : 소수점 두 번째 자리까지 보겠다. 즉, 소수점 밑에 3번째 자리에서 반올림 즉, 4568 확인 가능

, 다음의 -2 : 10의 2승일 때 100 자리 즉 4600 결괏값 확인할 수 있다.

 

2) 버림 함수 수행 결과 조회

결과 1 : 4567 결과 볼 수 있다.  결과 2 : 소수점 0번째부터니까 똑같이 4567 결과 확인

결과 3 : 소수 두 번째 기준 뒤에 다 버려 4567.67  결과 4 : 4500 확인 가능

양수 값 : 소수점 자리를 의미

음수 값이 나오면 10자리 100자리 1000자리 나올 수 있다.

 

3) POWER, CEIL, FLOOR

결과 1 :  2^10 

결과 2 : 3.7 올림 결과 -> 4

결과 3 : 3.7 정수 값으로 내림 -> 3

 

4) sal

 

 

 

 

 

날짜 함수에 대한 내용은 다음 내용에서 확인할 수 있습니다.