IT 개발/Database

[SQL] SQL 함수 사용법 (문자, 숫자, 날짜 관련 함수)

KADOSHOLY 2023. 12. 9. 22:59
반응형

 

SQL - SQL 함수 사용법 (문자, 숫자, 날짜 관련 함수)

 

 

   목차

  1. SQL 문자관련 함수
  2. SQL 숫자관련 함수
  3. SQL 날짜관련 함수

 

 

1. SQL 문자관련 함수

 

1) 대문자, 소문자 변환 관련

  • UPPER( ) : 해당 문자를 전부 대문자로 변경함
  • LOWER( ) : 해당 문자를 전부 소문자로 변경함
  • INITCAP( ) : 첫문자만 대문자, 나머지는 소문자로 변경함
  • [참고사항]
    • dual 테이블 : Oracle에서 제공하는 가상의 테이블로 SQL 함수 결과를 보기 위해 테스트용으로 사용함

 

ex1) SELECT * FROM  usertable WHERE UPPER(name) = UPPER('kim');   // 대소문자 구분없이 'kim'이 검색됨

 

ex2) SELECT UPPER('ABCdef'), LOWER('ABCdef'), INITCAP('ABCdef') FROM dual;

 

 

 

2) 문자열 길이, 문자열 일부 추출 및 변환 관련

  • LENGTH( ) : 문자열의 길이를 반환합니다. 
  • SUBSTR('문자열', 시작위치, 추출길이) : 문자열의 일부를 추출하여 반환합니다. (추출길이 생략시 끝까지 추출함)
  • REPLACE('문자열', '찾는문자', '바꿀문자') : 문자열 일부를 변환합니다. (바꿀문자 생략시 해당문자를 삭제함)
  • LPAD('문자열', 문자열길이, '빈공간 채울문자') : 문자열 길이를 지정하고 왼쪽 빈공간을 특정문자로 채움
  • RPAD('문자열', 문자열길이, '빈공간 채울문자') : 문자열 길이를 지정하고 오른쪽 빈공간을 특정문자로 채움
  • CONCAT('문자열1', '문자열2') : 두개의 문자열을 하나로 합침

 

ex1) SELECT  LENGTH('abcde'), SUBSTR('abcde', 3, 2), REPLACE('abcde', 'c', 'Y') FROM dual;   

 

 

ex2) SELECT  LPAD('abc', 8, '-'), RPAD('abc', 8, '-'), CONCAT('abc', 'xyz') FROM dual;   

 

 

 

 

2. SQL 숫자관련 함수

 

  • ROUND(숫자, 반올림위치 ) : 특정위치에서 반올림한 값을 반환
  • TRUNC(숫자, 버림위치) : 특정위치 이후의 값을 버린후 값을 반환
  • CEIL(숫자) : 해당숫자와 가까운 큰 정수
  • FLOOR(숫자) : 해당숫자와 가까운 작은 정수
  • MOD(숫자, 나눌숫자) : 해당숫자를 나눈 나머지 값을 반환

 

ex) SELECT  ROUND(4.5678, 2), TRUNC(4.5678, 2), CEIL(4.7),  FLOOR(4.7), MOD(10, 3) FROM dual;   

 

 

 

 

3. SQL 날짜관련 함수

 

  • SYSDATE : 오라클 서버의 현재 날짜와 시간을 반환 (+/- 연산 가능 ex, SYSDATE-1 : 어제 날짜)
  • TO_CHAR('날짜', '출력문자형식') : 날짜/숫자 데이터를 원하는 형태의 문자열로 출력
  • TO_DATE('문자열', '날짜형식') : 문자열 데이터를 날짜 형태 데이터로 변환

 

ex1) SELECT  SYSDATE, TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') FROM dual;   

 

 

ex2) SELECT  TO_DATE('2023-12-09', 'YY/MM/DD') FROM dual;   

 

반응형