일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 시나공
- kotlin
- 코딩교육봉사
- SQL
- 소프티어
- 1과목
- MYSQL
- 정보처리산업기사
- 백준 알고리즘
- 백준알고리즘
- C++
- 프로그래머스
- 회고
- 코틀린
- softeer
- CJ UNIT
- 백준
- 알고리즘
- 공부일지
- programmers
- java
- 코딩봉사
- 스프링
- BFS
- python
- 문제풀이
- 파이썬
- SW봉사
- 데이터베이스
- 자바
- Today
- Total
JIE0025
[MySQL] 데이터 형식 변환 본문
데이터 형식변환 함수
CAST(expression AS 데이터형식 [(길이)]) |
1) 평균 구매 개수를 구하는 쿼리문이 있다. 구매개수를 정수로 출력하시오
USE cookDB; SELECT AVG(amount) AS '평균 구매 개수' FROM buyTBL; |
먼저 쿼리문을 돌려보았다.

CAST를 사용해서 정수 표현
SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균 구매 개수' FROM buyTBL ; |
CONVERT 사용해서 정수표현
SELECT CONVERT(AVG(amount), SIGNED INTEGER) AS '평균 구매 개수' FROM buyTBL; |
출력결과

2) CAST() 함수를 이용하여 날짜 형식 DATE, DATETIME 등 으로 변경
구분자 중 아무거나 사용하면 날짜 형식(-)으로 바꿀 수 있다.
$ |
SELECT CAST('2020$12$12' AS DATE); SELECT CAST('2020/12/12' AS DATE); SELECT CAST('2020%12%12' AS DATE); SELECT CAST('2020@12@12' AS DATE); |


암시적 형 변환
CAST(), CONVERT() 사용하지 않고 데이터 형식 변환
암시적 형 변환의 예
SELECT '100' + '200';
문자와 문자를 더함(정수로 변환한 후 처리)

SELECT CONCAT('100', '200');
문자와 문자를 연결(문자열 그대로 처리)

SELECT CONCAT(100, '200');
정수와 문자를 연결(정수를 문자로 변환하여 처리)
CONCAT은 문자열을 연결하는 함수이므로 정수가 문자열로 변한다.

SELECT 1 > '3mega';
정수인 3으로 변환한 후 비교
비교 연산자로 인해 '3mega' 문자열이 숫자 3으로 변경됨. 즉 1>3 을 처리함 : 결과는 0 (False)

SELECT 4 > '3MEGA';
정수인 3으로 변환한 후 비교
비교 연산자로 인해 '3MEGA' 문자열이 숫자 3으로 변경됨. 즉 4>3 을 처리함 : 결과는 1 (True)

SELECT 0 = 'mega3';
문자가 0으로 변환됨
앞에 m 이 들어간 문자열이 숫자로 변경되면 그냥 0이 된다 즉 0 = 0 을 처리했으므로 결과는 1

'Application > Database' 카테고리의 다른 글
[MySQl]날짜/시간함수 (0) | 2021.04.19 |
---|---|
[MySQL] 내장 함수, 제어흐름 함수 (0) | 2021.04.17 |
[MySQL] 변수 선언과 사용 (0) | 2021.04.17 |
[MySQL] 데이터의 형식 (1) | 2021.04.17 |
[MSSQL] LIKE 술어 (0) | 2021.04.14 |