gpt4 book ai didi

MySql 程序 IF 数是奇数还是偶数

转载 作者:行者123 更新时间:2023-11-29 03:50:04 35 4
gpt4 key购买 nike

我正在学习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;//

下面是用于测试的 then 号码的 CALL:

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;

demo fiddle

关于MySql 程序 IF 数是奇数还是偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27431369/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com