일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- MYSQL
- 회고
- 공부일지
- BFS
- programmers
- 백준알고리즘
- 소프티어
- 프로그래머스
- CJ UNIT
- 시나공
- 파이썬
- 백준
- 정보처리산업기사
- 스프링
- 문제풀이
- C++
- java
- 코딩교육봉사
- 코틀린
- python
- 코딩봉사
- SQL
- 알고리즘
- 백준 알고리즘
- 1과목
- softeer
- 데이터베이스
- SW봉사
- kotlin
- 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
'백엔드 > 데이터베이스' 카테고리의 다른 글
[MySQl]날짜/시간함수 (0) | 2021.04.19 |
---|---|
[MySQL] 내장 함수, 제어흐름 함수 (0) | 2021.04.17 |
[MySQL] 변수 선언과 사용 (0) | 2021.04.17 |
[MySQL] 데이터의 형식 (0) | 2021.04.17 |
[MSSQL] LIKE 술어 (0) | 2021.04.14 |