ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 6.2 Simple Functions
    데이터베이스 시스템 2024. 10. 22. 13:39

    Numeric functions

    함수는 괄호로 묶인 표현식(인수라고 함)에 대해 연산을 수행하고 값을 반환한다. 일반적으로 인수는 열 이름이나 고정 값과 같은 단순한 표현식이다. 일부 함수는 여러 인수를 가지며, 인수는 쉼표로 구분되고, 몇몇 함수는 인수를 전혀 가지지 않는다.

    각 함수는 특정 데이터 유형에 대해 연산을 수행하고 결과를 평가한다.

    Ex: Log() 함수는 모든 숫자 데이터 유형에 대해 작동하며, DOUBLE 값을 반환한다. 인수가 유효하지 않으면 함수는 NULL을 반환한다

    SQRT() 함수는 양수에 대해서만 제곱근을 계산하므로, SQRT(-1)은 NULL을 반환한다

    숫자 함수는 정수 및 소수점 데이터 유형에 대해 작동하고  그 값을 평가한다.

    Table 6.2.1: Common numeric functions


    String functions

    문자열 함수는 문자열 값을 조작한다. SQL의 문자열 함수는 Java와 Python 같은 프로그래밍 언어에서의 문자열 함수와 유사하다.

    Table 6.2.2: Common string functions


    Date and time functions

    날짜 및 시간 함수는 DATE, TIME, 그리고 DATETIME 데이터 유형에 대해 작동한다

    Table 6.2.3: Common date and time functions


    문제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;
    SELECT HOUR(Assigned) + MINUTE(Assigned) 
    FROM Assignment 
    WHERE ID = 2;
    SELECT DATEDIFF(Due, Assigned) 
    FROM Assignment
    WHERE ID = 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
Designed by Tistory.