gpt4 book ai didi

mysql - 我想将函数的 NOT NULL 字符串结果与表中可以为 NULL 的字段组合起来

转载 作者:行者123 更新时间:2023-11-29 15:21:42 26 4
gpt4 key购买 nike

好的,我有这个功能:

CREATE FUNCTION ReaderSearcher(id INT) RETURNS varchar(100) NOT DETERMINISTIC
BEGIN
DECLARE resultList varchar(100);
IF id > 0 THEN
SET result = 'The search was a success! Readers:';
ELSE
SET result = 'The parameter has to be bigger than "0"!';
END IF;
RETURN result;
END $$

这个过程:

CREATE PROCEDURE searcher(id INT)
BEGIN
SELECT ReaderSearcher(id) AS RESULT, readers.firstname AS NAME
FROM readers WHERE READER_ID = id;
END $$

我希望我的结果是:

1) 一列不为空且至少包含消息“参数必须大于“0”!”

2)两列,第一列包含有关结果的消息,第二列包含读者姓名或某种占位符。

到目前为止,如果参数大于 0,它就可以工作,但任何低于 0 的值都不会给我带来任何结果,只会给我列的标签。我怎样才能让它发挥作用?我尝试了一些诸如 COALESCE 和 CONCAT 与 ISNULL 之类的东西,但它保持不变。

编辑:我正在使用 MySQL 和 MySQL Workbench。

最佳答案

我实际上得到了答案:

CREATE FUNCTION ReaderSearcher(id INT) RETURNS varchar(100) NOT DETERMINISTIC
BEGIN
DECLARE result varchar(100);
IF id > 0 THEN
SELECT readers.FIRSTNAME INTO result from readers WHERE READER_ID = id;
ELSE
SET result = 'The parameter has to be bigger than "0"!';
END IF;
RETURN result;
END $$

这正是我想要的。

关于mysql - 我想将函数的 NOT NULL 字符串结果与表中可以为 NULL 的字段组合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59342979/

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