변수 사용하기
SET @변수이름 = 변수의 값; // 변수 선언 및 값 대입
SELECT @변수이름; // 변수의 값 출력
변수는 MySQL Workbench를 종료하면 없어진다
USE market_db;
SET @myVar1 = 5;
SET @myVar2 = 4.25;
SELECT @myVar1;
SELECT @myVar1 + @myVar2;
SET @txt = '가수 이름==> ';
SET @height = 166;
SELECT @txt, mem_name FROM member WHERE height > @height;
📌 LIMIT에서는 변수를 사용할 수 없지만, PREPARE와 EXECUTE로 해결할 수 있다.
SET @count = 3;
PREPARE mySQL FROM 'SELECT mem_name, height FROM member ORDER BY height LIMIT ?';
EXECUTE mySQL USING @count;
LIMIT 다음에 오는 물음표(?) : 현재는 모르지만 나중에 채워지는 값
결론적으로 다음과 같은 SQL이 실행된다.
SELECT mem_name, height FROM member ORDER BY height LIMIT 3;
데이터 형 변환
형 변환 : 문자형 → 정수형 / 정수형 → 문자형
명시적인 변환 (Explicit conversion) : 직접 함수를 사용해 변환
암시적인 변환 (Implicit conversion) : 별도의 지시 없이 자연스럽게 변환
- 함수를 이용한 명시적인 변환 / CAST()와 CONVERT() 사용
CAST (값 AS 데이터_형식 [ (길이) ] )
CONVERT (값, 데이터_형식 [ (길이) ] )
- 구매 테이블에서 평균 가격을 정수로 표현하기
SELECT CAST(AVG(price) AS SIGNED) '평균 가격' FROM buy; //또는
SELECT CONVERT(AVG(price), SIGNED) '평균 가격' FROM buy;
SIGNED : 부호가 있는 정수
UNSIGNED : 부호가 없는 정수
- 다양한 구분자를 날짜형으로 변경하기
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);
- SQL의 결과를 원하는 형태로 표현하기
(가격(price)과 수량(amount)을 곱한 실제 구매액을 표시하기)
SELECT num, CONCAT(CAST(price AS CHAR), 'X', CAST(amount AS CHAR), '=' )
'가격X수량', price*amount '구매액'
FROM buy;
INT형인 price와 amount를 CAST() 함수를 통해 문자로 변환한다.
CONCAT() 함수는 문자를 이어주는 역할
- 암시적인 변환
SELECT '100' + '200';
문자 ‘100’과 ‘200’을 더할 수 없으므로 자동으로 숫자 100과 200으로 변환해 연산이 수행된다.
SELECT CONCAT('100', '200');
CONCAT() 함수를 사용해 문자 ‘100’과 ‘200’ 연결한다.
SELECT CONCAT(100, '200');
SELECT 100 + '200';
CONCAT() 을 사용할 때 숫자가 자동으로 문자로 변환된다.
더하기 연산을 할 때 문자가 자동으로 숫자로 변환된다.
'Language > SQL' 카테고리의 다른 글
[MySQL] SQL 프로그래밍 (4) | 2024.08.21 |
---|---|
[MySQL] 두 테이블을 묶는 조인(JOIN)에 대해 알아보자 (0) | 2024.08.21 |
[MySQL] MySQL의 데이터 형식을 알아보자 (0) | 2024.08.20 |
[MySQL] 데이터를 삭제하는 DELETE 문 (0) | 2024.08.20 |
[MySQL] 데이터를 수정하는 UPDATE 문 (0) | 2024.08.20 |