송민준의 개발노트

내장형 함수 본문

DB/쿼리

내장형 함수

송민준 2020. 7. 25. 18:11

DB에 대한 포스팅은 기본적으로 oracle을 기준으로 대부분 하니 참고...

 

기본적으로 내장형 함수는 각 DBMS별로 차이가 있지만 거의 비슷한 방법으로 사용이 가능하다.

종류로는 형변환 함수, 문자열 및 숫자형 함수, 날짜형 함수가 있다.

 

형변환 함수명시적암시적 형변환이 있는데 암시적인 것은 DBMS가 알아서 처리해주는 것이고 명시적은 사용자가 직접 선언해주는 것이다.

// 형변환
TO_NUMBER(문자열) : 문자열을 숫자로 변환
TO_CHAR(숫자 or 날짜, [FORMAT]) : 숫자 혹은 날짜를 지정된 FORMAT의 문자로 변환한다.
TO_DATE(문자열, FORMAT) : 문자열을 지정된 FORMAT의 날짜형으로 변환한다.

형변환에 대한 보다 자세한 포스팅은 아래 글에 해놨다.

https://song8420.tistory.com/275

 

Oracle 날짜 / 시간 포맷 (format) 함수

뷰나 서비스단에서 수정 후 저장도 가능하겠지만 쿼리로 하는게 중복코드를 제거하기에 좋은 것 같다. 기본적으로 * 기본적으로 대소문자 상관없음 -- 연 월 일 (문자 사이에 원하는 기호 넣으면

song8420.tistory.com

오라클은 임시로 사용할 수 있는 테이블인 DUAL을 제공하는데 테스트해볼때 사용하면 나름 유용하다.

현업 쿼리에서도 종종 쓴다.

select sysdate from dual

문자열 함수는 아래와 같다.

 

- ASCII(문자) : 문자 혹은 숫자를 ASCII 코드값으로 변환한다.

 

- CHAR(ASCII 코드값) : ASCII 코드값을 문자로 변환한다.

 

- SUBSTR(문자열, m, n) : 문자열에서 m번째 위치부터 n개를 자른다.

 

- CONCAT(문자열1, 문자열2) : 문자열1번과 문자열 2번을 결합한다.( ' || ' 로 대체 가능)

 

- LOWER(문자열) : 영문자를 소문자로 변환한다.

 

- UPPER(문자열) : 영문자를 대문자로 변환한다.

 

- LENGTH 혹은 LEN(문자열) : 공백을 포함해서 문자열의 길이를 알려준다.

 

- LTRIM(문자열, 지정문자) : 왼쪽에서 지정된 문자를 삭제하고 없으면 공백을 삭제함

 

- RTRIM(문자열, 지정문자) : 오른쪽에서 지정된 문자를 삭제하고 없으면 공백을 삭제함

 

- TRIM(문자열, 지정된 문자) : 왼쪽, 오른쪽에서 지정된 문자를 삭제하고 없으면 공백을 삭제함

 

날짜형 함수는 아래와 같다.

 

- SYSDATE : 오늘의 날짜를 날짜 타입으로 알려준다.

 

- EXTRACT('YEAR'|'MONTH'|'Day' FROM DUAL) : 날짜에서 년, 월, 일을 조회한다.

 

숫자형 함수는 아래와 같다.

 

- ABS(숫자) : 절댓값을 반환한다.

 

- SIGN(숫자) : 양수, 음수, 0을 구별한다.

 

- MOD(숫자1, 숫자2) : 숫자1을 숫자로 2로 나누어 나머지 계산한다. %로 대체 가능

 

- CEIL / CEILING(숫자) : 숫자보다 크거나 같은 최소의 정수를 돌려준다.

 

- FLOOR(숫자) : 숫자보다 작거나 같은 최대의 정수를 돌려준다.

 

- ROUND(숫자, n) : 소수점 n의 자리에서 반올림한다. n의 기본값은 0이다.

 

- TRUNC(숫자, n) : 소수점 n자리에서 절삭한다. n의 기본값은 0이다.

'DB > 쿼리' 카테고리의 다른 글

(Oracle)윈도우 함수 사용법  (0) 2020.08.03
그룹 함수  (0) 2020.08.03
(Oracle)서브쿼리(Subquery)란 무엇인가??  (0) 2020.07.27
DECODE, CASE문  (0) 2020.07.25
Oracle 날짜 / 시간 포맷 (format) 함수  (0) 2020.07.07