Toby's Study Blog
Published 2023. 8. 10. 15:31
SQL 함수 database

SQL 함수란?

미리 정의된 기능 모음, 단일 행 함수와 그룹 함수가 있다.

 

데이터 타입 함수

  • 문자 : CHAR(값) : 문자 타입 지정 2000바이트
  • 문자 : VARCHAR2(값) : 문자 타입 지정 4000바이트
  • 숫자 : Oracle에서는 NUMBER(정수 자릿수, 소수 자릿수), MySQL은 INT사용
  • 날짜 : DATE()
  • 시간 : TIME()

문자열 처리

  • CONCAT('abc', 'def') → 'abcdef' : 문자열을 연결
  • LOWER('ABC') → 'abc'
  • UPPER('abc') → 'ABC'
  • INITCAP('abc') → 'Abc' : 앞문자만 대문자
  • SUBSTR('hello world', 1, 5) → 'hello' : 문자열을 자를 때 많이 사용한다. 숫자는 시작위치, 자를 문자열의 길이를 나타낸다.
  • REPLACE('hello world', 'world', 'SQL') → 'hello SQL' : 바꾸고 싶은 값으로 대상 값을 교체
  • LENGTH('hello') → 5 : 문자열의 길이를 출력
  • COUNT : 행의 개수를 출력
  • INSTR('ABCDEF', 'B') → 2 : 문자열의 위치를 구한다. 여기서 INDEX는 1부터 시작
  • ROUND(반올림할 숫자, 자릿수) : 숫자를 반올림, 0이 소숫점 첫째자리
  • TRUNC(절삭할 숫자, 자릿수) : 숫자를 절삭, 0이 소숫점 첫째자리
  • MOD(수, 나누는 값) : 나머지
  • POWER(수, 승수) : 제곱 출력
  • SQRT : 제곱근 출력

SUBSTR(컬럼, START, LENTH) : 슬라이싱

SELECT SUBSTR('hello world', 1, 5);

날짜

SELECT DATE();
SELECT DATE() + 10;
SELECT TIME() + 10;

통계

SELECT MAX(CustomerID) AS 최댓값 FROM Customers;
SELECT SUM(CustomerID) AS 전체합 FROM Customers;
SELECT MIN(CustomerID) AS 최솟값 FROM Customers;
SELECT COUNT(CustomerID) AS 전체행의수 FROM Customers;
SELECT AVG(CustomerID) AS 평균 FROM Customers;

문자열 변환

해당함수는 간혹 SQL Injection 공격에 사용된다.

SELECT CHAR(65) || CHAR(65));
SELECT CONCAT(CHAR(65), CHAR(65));
SELECT ASCII('A');

'database' 카테고리의 다른 글

SQL 활용  (0) 2023.08.10
SQL 이란  (0) 2023.08.10
profile

Toby's Study Blog

@Toby12

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그