본문 바로가기
인터페이스 개발/SQL - MariaDB

SQL - 고급[MariaDB의 데이터 형식] - 숫자 , 문자 , 날짜, 시간, 기타, LONGTEXT, LONGBLOB, 데이터 형식과 형 변환, 암시적 형변환

by cooluk 2020. 7. 28.

Chap.7-1 SQL 고급[MariaDB의 데이터 형식] - 숫자 , 문자 , 날짜, 시간, 기타, LONGTEXT, LONGBLOB, 데이터 형식과 형 변환, 암시적 형변환

 

MariaDB의 데이터 형식

숫자 , 문자 , 날짜, 시간, 기타, LONGTEXT, LONGBLOB, 데이터 형식과 형 변환, 암시적 형변환

 

숫자 데이터 형식

 

문자 데이터 형식

 

날짜와 시간 데이터 형식

 

기타 데이터 형식

 

LONGTEXT, LONGBLOB

  • LOB: Large Object

  • 4GB 크기의 파일을 하나의 데이터로 저장 가능

  • LONGBLOG : 이미지, 동영상 데이터

  • LONGTEXT : 소설, 게시판의 글 내용

 

데이터 형식과 형 변환

  • CAST(표현식 AS 데이터형식 [(길이)])

  • CONVERT(표현식, 데이터형식 [(길이)])

USE sqlDB;
SELECT AVG(amount) AS '평균 구매 개수' FROM buyTBL;

SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균 구매 개수' FROM buyTBL;
SELECT CONVERT(AVG(amount) , SIGNED INTEGER) AS '평균 구매 개수' FROM buyTBL ;

SELECT CAST('2022$12$12' AS DATE);
SELECT CAST('2022/12/12' AS DATE);
SELECT CAST('2022%12%12' AS DATE);
SELECT CAST('2022@12@12' AS DATE);

결과

같은 결과

 

하나의 문자열로 변환

SELECT
num,
CONCAT(CAST(price AS CHAR(10)), 'X', CAST(amount AS CHAR(4)) ,'=' )
AS '단가X수량',
price*amount AS '구매액'
FROM buyTBL ;

결과

 

암시적 형변환

SELECT '100' + '200' ; -- 문자와 문자를 더함 (정수로 변환되서 연산됨)
SELECT CONCAT('100', '200'); -- 문자와 문자를 연결 (문자로 처리)
SELECT CONCAT(100, '200'); -- 정수와 문자를 연결 (정수가 문자로 변환되서 처리)
SELECT 1 > '2mega'; -- 정수 2로 변환되어서 비교
SELECT 3 > '2MEGA'; -- 정수 2로 변환되어서 비교
SELECT 0 = 'mega2'; -- 문자는 0으로 변환됨

결과

댓글