SQL 역시 다른 언어처럼 데이터를 조작할 수 있도록 함수를 제공한다.
함수 사용 시 주의점
SQL 의 함수는 DBMS 마다 호환성이 매우 낮기 때문에 남용하면 해당 데이터베이스에 종속적인 쿼리가 되기 쉽다.
그렇다고 모든 로직을 함수를 사용하지 않고 처리하면 성능이 떨어질 수 있다.
따라서, 판단은 개발자의 몫이고, 함수를 사용하게 된다면 이후 데이터베이스의 변경이 일어날 것을 대비해 주석을 달아두는 것이 좋다.
주로 사용되고 대부분의 DBMS에서 지원하는 함수
문자열 조작 함수 - LEFT, LENGTH, TRIM, UPPER, SOUNDEX 등
수학 계산을 위한 수치 함수 - ABS, COS, EXP, PI, SQRT 등
날짜와 시간을 조작하기 위한 날짜 함수
사용자 친화적인 결과를 보내도록하는 서식 함수
사용하고 있는 DBMS 시스템 정보를 반환하는 시스템 함수
도전 과제
Customer 테이블에서 고객 ID, 고객명, 사용자 로그인 이름(고객 이름의 앞 두 글자와 고객 도시명의 첫 세글자를 연결) 을 출력하라.
SELECT cust_id, cust_name, UPPER(LEFT(cust_name, 2) || LEFT(cust_city, 3)) AS user_login FROM Customers;
2020년 1월에 접수된 모든 주문의 주문 번호와 주문 날짜를 날짜로 정렬하여 출력하라.
SELECT order_num, order_date FROM Orders WHERE EXTRACT('YEAR' FROM order_date) = '2020' AND EXTRACT('MONTH' FROM order_date) = '01' ORDER BY order_date;