Variables - Heeyoung-Ahn/MariaDB-with-Excel-VBA GitHub Wiki

References


지역변수: DECLARE

  • 문법: DECLARE variable_name [,variable_name...] datatype [DEFAULT value];
DECLARE start_dt DATE DEFAULT '2020-01-21';

변수조작: SET

  • 문법: SET variable_name = expression [, variable_name = expression …];
DECLARE i INTEGER;
SET i=1;

사용자 정의 변수

  • 문법: SET @변수명 = 값; or SELECT @변수명 := 값;
SET @a = (SELECT a.currency_id FROM co_account.corporations a WHERE a.corporation_id = query_co_id);
SELECT @a := (SELECT a.currency_id FROM co_account.corporations a WHERE a.corporation_id = query_co_id);
SELECT * FROM co_account.currencies WHERE currency_id = @a;

Example

/*지역변수 사용 시 DECLARE로 변수선언*/
/*출력값이 동일한 함수의 경우 Deterministic옵션 사용*/
DELIMITER //
CREATE FUNCTION masking_name(a_name VARCHAR(128)) RETURNS VARCHAR(128) DETERMINISTIC
BEGIN
	DECLARE v_name VARCHAR(128);

	SELECT CONCAT(SUBSTRING(a_name, 1, 1)
	              , LPAD('*', CHAR_LENGTH(a_name) - 2, '*')
	              , SUBSTRING(a_name, CHAR_LENGTH(a_name), CHAR_LENGTH(a_name)) 
	             )
	INTO v_name;

	RETURN v_name;
END //
DELIMITER ;
/*DELIMITER와 세미콜론 사이 한 칸 띄어 써야 함*/

SELECT masking_name('안희영')