-
6.2 Simple Functions데이터베이스 시스템 2024. 10. 22. 13:39
Numeric functions
함수는 괄호로 묶인 표현식(인수라고 함)에 대해 연산을 수행하고 값을 반환한다. 일반적으로 인수는 열 이름이나 고정 값과 같은 단순한 표현식이다. 일부 함수는 여러 인수를 가지며, 인수는 쉼표로 구분되고, 몇몇 함수는 인수를 전혀 가지지 않는다.
각 함수는 특정 데이터 유형에 대해 연산을 수행하고 결과를 평가한다.
Ex: Log() 함수는 모든 숫자 데이터 유형에 대해 작동하며, DOUBLE 값을 반환한다. 인수가 유효하지 않으면 함수는 NULL을 반환한다
SQRT() 함수는 양수에 대해서만 제곱근을 계산하므로, SQRT(-1)은 NULL을 반환한다
숫자 함수는 정수 및 소수점 데이터 유형에 대해 작동하고 그 값을 평가한다.
String functions
문자열 함수는 문자열 값을 조작한다. SQL의 문자열 함수는 Java와 Python 같은 프로그래밍 언어에서의 문자열 함수와 유사하다.
Date and time functions
날짜 및 시간 함수는 DATE, TIME, 그리고 DATETIME 데이터 유형에 대해 작동한다
문제1)
주어진 SQL은 Movie 테이블을 생성하고, 몇몇 영화를 삽입한 후 모든 영화를 선택한다. YEAR()와 MONTH() 함수를 사용하여, SELECT 문을 수정해 2017년 이후에 개봉되었거나 11월에 개봉된 영화를 선택하라. 결과 테이블에 ID가 5,6,7,9인 영화만 표시되는지 확인하라
CREATE TABLE Movie ( ID INT AUTO_INCREMENT, Title VARCHAR(100), Rating CHAR(5) CHECK (Rating IN ('G', 'PG', 'PG-13', 'R')), ReleaseDate DATE, PRIMARY KEY (ID) ); INSERT INTO Movie (Title, Rating, ReleaseDate) VALUES ('Rogue One: A Star Wars Story', 'PG-13', '2016-12-16'), ('Casablanca', 'PG', '1943-01-23'), ('The Dark Knight', 'PG-13', '2008-07-18'), ('Hidden Figures', 'PG', '2017-01-06'), ('Toy Story', 'G', '1995-11-22'), ('Rocky', 'PG', '1976-11-21'), ('Crazy Rich Asians', 'PG-13', '2018-08-15'), ('Bridget Jones\'s Diary', 'PG-13', '2001-04-13'), ('Avengers: Endgame', 'PG-13', '2019-04-26'); -- Modify the SELECT statement: SELECT * FROM Movie;
더보기SELECT * FROM Movie WHERE YEAR(ReleaseDate) > 2017 OR MONth(ReleaseDate) = 11;
문제2)
위의 Assignment 테이블은 여러 과제의 할당일과 마감일/시간을 저장한다. 각 값을 생성하는 SELECT 문과 값을 연결하시오.
SELECT TIME(Due) FROM Assignment WHERE ID = 2;
더보기23:59:00
SELECT DAY(Due) FROM Assignment WHERE ID = 4;
더보기14
SELECT HOUR(Assigned) + MINUTE(Assigned) FROM Assignment WHERE ID = 2;
더보기42
SELECT DATEDIFF(Due, Assigned) FROM Assignment WHERE ID = 1;
더보기1
SELECT TIMEDIFF(Due, Assigned) FROM Assignment WHERE ID = 3;
더보기01:00:00
[출처: zyBooks]
'데이터베이스 시스템' 카테고리의 다른 글
7.1 Join queries (0) 2024.11.07 6.3 Aggregate functions (0) 2024.10.23 6.1 Special operators and clauses (0) 2024.10.22 1.4 Database design and programming (0) 2024.10.07 1.3 Query languages (0) 2024.10.05