본문 바로가기
MySql

MySQL MySql 프로 시저 IF 번호가 홀수이거나 짝수 인 경우

by 베이스 공부 2020. 11. 27.
반응형

내 학습 mysql과 내 질문은 내가 여기서 뭘 잘못하고 있는지 확인하는 것입니다.

사용자가 입력하는 숫자의 첫 번째 숫자 홀수 인지 짝수 인지 확인하는 SQL 절차를 만들려고하는데 구문 오류가 발생합니다. '; //' 근처 9 행

다음은 SQL입니다.

MYSQL>
DELIMITER //

CREATE PROCEDURE num()
BEGIN
IF (SELECT LEFT(num,1))=1 OR (SELECT LEFT(num,1))=3 OR (SELECT LEFT(num,1))=5 OR (SELECT LEFT(num,1))=7 THEN
SELECT 'number is odd';
ELSEIF (SELECT LEFT(num,1))=2 OR (SELECT LEFT(num,1))=4 OR (SELECT LEFT(num,1))=6 OR (SELECT LEFT(num,1))=8 THEN
SELECT 'number is even'; 
END IF;

END;//

그리고 다음은 테스트를위한 전화 번호입니다.

MYSQL> CALL num(3123123123) 

어떤 아이디어?

 

해결 방법

 

당신이 원하는 것은 계산입니다. % 2는 나눗셈의 나머지를 2로 줄 것입니다. 나머지가 0이 아니면 홀수입니다.

SELECT IF(LEFT(num, 1) % 2 <> 0, "number is odd", "number is even")

당신은 또한 당신의 절차를 다음과 같이 수정하고 싶습니다.

DELIMITER //
CREATE PROCEDURE `num`( IN input_num int, OUT output varchar(200))
    BEGIN
        SELECT IF(LEFT(input_num, 1) % 2 <> 0, "number is odd", "number is even") INTO output;
    END//

이렇게 부를 것입니다.

set @a = '';
call num(333, @a);

select @a;


 

참조 페이지 https://stackoverflow.com/questions/27431369

 

 

반응형

댓글