반응형

[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] 전체보기

 

 

'MariaDB' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

반응형