반응형
내 학습 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
반응형
'MySql' 카테고리의 다른 글
MySQL 마 젠토 데이터베이스 구조 설명 (0) | 2020.11.27 |
---|---|
MySQL mysql 저장 프로 시저 오류 : 세미콜론 누락 (0) | 2020.11.27 |
MySQL 데이터베이스에서 어레이를 만드는 방법은 무엇입니까? (0) | 2020.11.27 |
MySQL Apache 및 MySQL이 실행 중이지만 "http : // localhost / phpmyadmin /"에 "이 웹 페이지를 사용할 수 없음"이 표시됩니다. (0) | 2020.11.26 |
MySQL 데이터베이스에 개체를 저장하고 싶습니다. (0) | 2020.11.26 |
댓글