본문 바로가기
SQL

SQL_데이터타입 / DATE

by haheaven 2021. 8. 21.

1. Numeric types(숫자형 타입)

: 숫자를 나타내기 위해서 사용되는 데이터 타입

 

1) 정수형 타입

정수값을 저장하는 타입

 

① TINYINT

: 작은 범위의 정수들을 저장할 때 쓰는 데이터 타입

TINYINT SIGNED : -128 ~ 127

TINYINT UNSIGNED : 0 ~ 255

 

② SMALLINT

: TINYINT 보다 좀더 큰 범위의 정수 

SMALLINT SIGNED : -32768 ~ 32767

 

③ MEDIUMINT

: 더 넓은 범위를 나타내는 데이터 타입

MEDIUMINT SIGNED : -8388608 ~ 8388607

MEDIUMINT UNSIGNED : 0 ~ 16777215

 

④ INT

: 더 넓은 범위를 나타내는 데이터 타입

INT SIGNED : -2147483648 ~ 2147483647

INT UNSIGNED : 0 ~ 4294967295

 

⑤ BIGINT

: 아주 큰 범위의 정수를 저장하는 데이터 타입

 

 

(2) 실수형 타입

①  DECIMAL

:일반적으로 자주 쓰이는 실수형 타입 중 하나

 

② FLOAT

: 3.402823466E+38 ~ -1.175494351E-38,

 

③ DOUBLE

: 1.7976931348623157E+308 ~ -2.2250738585072014E-308,

 

 


 

 

 

2. 날짜 및 시간 타입(Date and Time Types)

 

① DATE

: 날짜를 저장하는 데이터 타입

: ’2021-08-21’ -> 연, 월, 일 

 

② DATETIME

: 날짜와 시간을 저장하는 데이터 타입

: ’2021-08-21 16:00:00’  -> 연, 월, 일, 시, 분, 초

 

③ TIMESTAMP

: 날짜와 시간을 저장하는 데이터 타입

’2021-08-21 16:00:00’ 

 

* DATETIME VS TIMESTAMP : DATETIME 날짜시간 사용자가 지정,  TIMESTAMP 는 자동으로 현재 날짜 지정

 

 

 

 


 

3. DATE(데이터 타입)일때 활용 

 

 

 

①  연도, 월, 일 추출

SELECT * FROM 테이블명 WHERE YEAR(columnName)= '출력원하는년도',  
SELECT * FROM 테이블명 WHERE MONTH(columnName)= '출력원하는월',,
SELECT * FROM 테이블명 WHERE DAYOFMONTH(columnName) = '출력원하는일',

* 예제

SELECT * FROM product WHERE MONTH(update_date)='06';

 


 

 

② 특정 년,월,일 추출하기

SELECT * FROM 테이블명 WHERE YEAR(columnName) IN (년1, 년2)
SELECT * FROM 테이블명 WHERE MONTH(columnName) IN (월1, 월2)
SELECT * FROM 테이블명 WHERE DAYOFMONTH(columnName) IN (일1, 일2)

* 예제

SELECT * FROM product WHERE MONTH(update_date)IN (05, 03);

 


 

③ 날짜 범위 추출하기

SELECT * FROM 테이블명 WHERE MONTH(columnName) BETWEEN 월1 AND 월2

*예제

SELECT * FROM product WHERE MONTH(update_date) = 6 AND DAYOFMONTH(update_date) BETWEEN 15 and 30;

 

 

 

 

 

 

- 날짜 간의 차이 구하기

 

   ① 

SELECT 출력하고싶은컬럼1,출력하고싶은컬럼1..  DATEDIFF(날짜 a, 날짜 b) FROM 테이블명;

(DATE DIFFERENT = date differnet)

   ② 오늘 날짜 기준의 차이

SELECT 출력하고싶은컬럼1, ,, CURDATE(), DATEDIFF('2021-01-01', CURDATE()) FROM 테이블명;

오늘날짜 : CURDATE()

 

*예제

SELECT product_name, update_date, DATEDIFF('2021-08-21', update_date) AS DIFF FROM product;

* AS '컬럼명' : 컬럼명 지정 방법

 

 

 

-  날짜 더하기, 빼기

① DATE_ADD ('2019-01-01', INTERVAL 20 DAY)

② DATE_SUB (columnName, INTERVAL 20 DAY)

'SQL' 카테고리의 다른 글

ORACLE_여러 행을 한 행으로 조회하기  (0) 2022.08.05
ORACLE_LOCK 개체 확인 및 KILL(해제)  (0) 2022.08.05
SQL_ CASE(조건) 와 NULL(변경)  (0) 2021.08.22
SQL_기초2  (0) 2021.08.20
SQL_기초1  (0) 2021.08.19

댓글