반응형

목차

  1. 날짜와 시간 데이터 유형과 예시
  2. MySQL에서 날짜와 시간 데이터 가져오기
  3. SQL server에서 날짜와 시간 데이터 가져오기

날짜와 시간 데이터 유형과 예시

MySQL에서 날짜와 시간은 다음 데이터 유형을 사용하여 나타낼 수 있습니다.

  • DATE: 시간 정보가 없는 날짜를 나타냅니다. 형식은 'YYYY-MM-DD'입니다.
  • TIME: 날짜 정보가 없는 시간을 나타냅니다. 형식은 'HH:MM:SS'입니다.
  • DATETIME: 날짜 및 시간 정보를 모두 나타냅니다. 형식은 'YYYY-MM-DD HH:MM:SS'입니다.
  • TIMESTAMP: DATETIME과 유사하지만 범위가 '1970-01-01 00:00:01' UTC에서 '2038-01-19 03:14:07' UTC까지입니다.

다음은 MySQL에서 이러한 데이터 유형을 사용하는 몇 가지 예입니다.

-- Select the database to use
USE my_database;

-- Creating a table with date and time columns
CREATE TABLE events (
  id INT AUTO_INCREMENT PRIMARY KEY,
  event_date DATE,
  event_time TIME,
  event_datetime DATETIME,
  event_timestamp TIMESTAMP
);

-- Inserting values into the table
INSERT INTO events (event_date, event_time, event_datetime, event_timestamp)
VALUES ('2023-04-20', '12:30:45', '2023-04-20 12:30:45', '2023-04-20 12:30:45');

-- Querying the table using date and time functions
SELECT * FROM events WHERE DATE(event_datetime) = '2023-04-20';
SELECT * FROM events WHERE TIME(event_datetime) = '12:30:45';
SELECT * FROM events WHERE event_datetime BETWEEN '2023-04-20 12:00:00' AND '2023-04-20 13:00:00';


이러한 데이터 유형 외에도 MySQL은 날짜 및 시간 값 작업을 위한 여러 날짜 및 시간 함수를 제공합니다.

  • NOW(): 현재 날짜와 시간을 반환합니다.
  • CURDATE() 또는 CURRENT_DATE: 현재 날짜를 반환합니다.
  • CURTIME() 또는 CURRENT_TIME: 현재 시간을 반환합니다.
  • DATE(): datetime 식의 날짜 부분을 추출합니다.
  • TIME(): datetime 식의 시간 부분을 추출합니다.
  • DATE_ADD() 및 DATE_SUB(): 날짜에 간격을 더하거나 뺍니다.
  • DATEDIFF(): 두 날짜의 차이를 일 단위로 계산합니다.


다음은 이러한 기능을 사용하는 몇 가지 예입니다.

-- Get the current date and time
SELECT NOW();

-- Get the current date
SELECT CURDATE();

-- Get the current time
SELECT CURTIME();

-- Add 1 day to a date
SELECT DATE_ADD('2023-04-20', INTERVAL 1 DAY);

-- Subtract 1 hour from a datetime
SELECT DATE_SUB('2023-04-20 12:30:45', INTERVAL 1 HOUR);

-- Calculate the difference between two dates in days
SELECT DATEDIFF('2023-04-20', '2023-04-21');

MySQL에서 날짜와 시간 데이터 가져오기

SQL에는 날짜의 일부 추출, 날짜 서식 지정, 날짜 산술 수행과 같은 다양한 용도로 사용할 수 있는 DATE와 관련된 여러 함수가 있습니다. 다음은 일반적으로 사용되는 몇 가지 날짜 함수와 예제입니다.

1. DATE(): datetime 또는 timestamp 값에서 날짜 부분을 추출합니다.

SELECT DATE('2023-04-20 15:30:00');
결과: '2023-04-20'


2. YEAR(): 날짜에서 연도를 추출합니다.

SELECT YEAR('2023-04-20');
결과: 2023


3. MONTH(): 날짜에서 월을 추출합니다.

SELECT MONTH('2023-04-20');
결과: 4


4. DAY(): 날짜에서 일자를 추출합니다.

SELECT DAY('2023-04-20');
결과: 20


5. CURDATE(): 현재 날짜를 반환합니다.

SELECT CURDATE();
결과: '2023-04-23'(오늘 날짜가 2023년 4월 23일이라고 가정)


6. DATEDIFF(): 두 날짜 사이의 날짜 차이를 계산합니다.

SELECT DATEDIFF('2023-04-25', '2023-04-20');
결과: 5


7. DATE_ADD(): 날짜에 지정된 시간 간격을 더합니다.

SELECT DATE_ADD('2023-04-20', INTERVAL 5 DAY);
결과: '2023-04-25'


8. DATE_FORMAT(): 지정된 형식에 따라 날짜 형식을 지정합니다.

SELECT DATE_FORMAT('2023-04-20', '%M %d, %Y');
결과: '2023년 4월 20일'

SQL server에서 날짜, 시간 데이터 가져오기

1. GETDATE() 함수는 MySQL이 아닌 SQL Server에만 해당됩니다. 현재 날짜와 시간을 반환합니다. 이것은 MySQL의 NOW() 함수와 동일합니다.

SELECT GETDATE();


2. DATENAME(datepart, date): 입력 날짜의 지정된 날짜 부분을 나타내는 문자열을 반환합니다. datepart 인수는 year, month, day, weekday, hour, minute 또는 second와 같이 추출할 날짜 부분을 지정하는 문자열입니다.

-- 특정 날짜의 월 이름을 가져오기
SELECT DATENAME(month, '2023-04-20');

-- 특정 날짜의 요일 이름 얻기
SELECT DATENAME(weekday, '2023-04-20');


3. DATEPART(datepart, date): 입력 날짜의 지정된 날짜 부분을 나타내는 정수 값을 반환합니다. DATENAME()과 마찬가지로 datepart 인수는 추출할 날짜 부분을 지정하는 문자열입니다.

-- 특정 날짜의 연도 부분 가져오기
SELECT DATEPART(year, '2023-04-20');

-- 특정 날짜의 날짜 가져오기
SELECT DATEPART(day, '2023-04-20');

-- 특정 날짜 시간의 시간 부분 가져오기
SELECT DATEPART(hour, '2023-04-20 12:30:45');
반응형

'SQL' 카테고리의 다른 글

[SQL] SQL MATH 함수  (0) 2023.04.24
[SQL] SQL GROUP 함수  (0) 2023.04.24
[SQL] SQL 문자열 함수들과 사용 예시  (0) 2023.04.23
[SQL] MySQL 서브 쿼리(SUBQUERY)란?  (0) 2023.04.23
[SQL] SQL JOIN의 종류와 예시  (0) 2023.04.23