반응형
[MariaDB] 마리아DB SQL 쿼리 고급 - 변수 사용 및 데이터 형 변환 (MySQL)
변수의 사용
SET @변수이름 = 변수의값 ; -- 변수의 선언 및 값 대입
SELECT @변수이름 ; -- 변수의 값 출력
/* 사용 예제 */
USE DB명;
SET @변수명1 = 4 ; -- 변서 선언 및 값 대입
SET @변수명2 = 2 ;
SET @변수명3 = 3.25 ; -- 실수 대입
SET @변수명4 = '지역명--> ' ; -- 문자 대입
SELECT @변수명1 ; -- 정수 출력
SELECT @변수명2 + @변수명3 ; -- 정수+실수는 실수 출력
SELECT @변수명4 , 지역명열이름 FROM 테이블명 ; -- 1열은 '지역명-->' 출력, 2열은 테이블의 지역명열 내용 출력
LIMIT에 변수 사용방법(기본적으로 변수 사용 불가능하나 PREPARE와 EXECUTE문을 활용해서 사용 가능)
SET @변수1 = 5 ;
PREPARE 쿼리이름
FROM 'SELECT 열이름1, 열이름2 FROM 테이블명 ORDER BY 열이름1 LIMIT ?'; -- ?에 값이 입력될 준비
EXECUTE 쿼리이름 USING @변수1 ; -- 여기서 ?에 @변수1 값을 대입하게 됨
데이터 형 변환
// 데이터 형 변환 방식1 CAST
CAST (expression AS 데이터형식 [(길이)])
// 데이터 형 변환 방식2 CONVERT
CAST (expression , 데이터형식 [(길이)])
// 형 변환 예시: 평균(AVG)가 소숫점으로 나오지 않도록 SIGNED INT로 형변환 출력
SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균 구매 개수' FROM 테이블명 ;
SELECT CONVERT(AVG(amount) , SIGNED INTEGER) AS '평균 구매 개수' FROM 테이블명 ;
// 형 변환 예시: 날짜 데이터 형식으로 변환하기
SELECT CAST('2022$12$12' AS DATE); -- 결과값: 2020-12-12
SELECT CAST('2022/12/12' AS DATE); -- 결과값: 2020-12-12
SELECT CAST('2022%12%12' AS DATE); -- 결과값: 2020-12-12
SELECT CAST('2022@12@12' AS DATE); -- 결과값: 2020-12-12 (모두 같은 결과)
// 암시적인 형 변환
SELECT '100' + '200' ; -- 문자와 문자를 더함 (정수로 변환되서 연산됨)
SELECT CONCAT('100', '200'); -- 문자와 문자를 연결 (문자로 처리)
SELECT CONCAT(100, '200'); -- 정수와 문자를 연결 (정수가 문자로 변환되서 처리)
SELECT 1 > '2mega'; -- 정수 2로 변환되어서 비교
SELECT 3 > '2MEGA'; -- 정수 2로 변환되어서 비교
SELECT 0 = 'mega2'; -- 문자는 0으로 변환됨
'MariaDB' 카테고리의 글 목록
전산 관련 경험을 기록 하는 곳
reddb.tistory.com
반응형
'MariaDB' 카테고리의 다른 글
[MariaDB] 마리아DB SQL 쿼리 고급 - 내장 함수 (MySQL) (0) | 2020.08.29 |
---|---|
[MariaDB] 마리아DB SQL 쿼리 고급 - 데이터 형식 (MySQL) (0) | 2020.08.29 |
[MariaDB] 마리아DB SQL 쿼리 기본 - INSERT, UPDATE, DELETE (MySQL) (8) | 2020.08.27 |