gpt4 book ai didi

mysql - 创建一个返回 John Daniel 的函数 2009 年 12 月 6 日

转载 作者:行者123 更新时间:2023-11-30 21:25:28 27 4
gpt4 key购买 nike

我一直在尝试创建一个函数来连接名字姓氏和出生日期以显示为“Marc Smith 2009 年 12 月 6 日”我终于能够充分使用该函数以使其正确执行,但是当我选择函数时出现错误。请告诉我这是否是一个准确的函数,以及应该选择什么来获得所需的输出。

CREATE TABLE Info (
First_name VARCHAR(32),
Last_name VARCHAR(32),
Birth DATE);


INSERT INTO Info (First_name, Last_name, Birth) VALUES ('Marc', 'Smith', '2009-12-06');


DELIMITER //

CREATE FUNCTION bdate(
First_Name VARCHAR(32)
Last_Name VARCHAR(32),
Birth DATE))
RETURNS VARCHAR(64)

BEGIN

DECLARE bdate VARCHAR(64);

SET bdate = (SELECT CONCAT(First_Name, ' ', Last_Name, ' ', DATE_FORMAT(Birth, '%b %D, %Y')) FROM Info);
RETURN bdate();

END //

DELIMITER ;

Schema Error: Error: ER_SP_NO_RECURSION: Recursive stored functions and triggers are not allowed.

最佳答案

您的函数有一些错误。

您再次调用了 return 函数。使用 _bdate circumwendts 这个问题。你的括号也太多了

DELIMITER //

CREATE FUNCTION bdate(
First_Name VARCHAR(32),
Last_Name VARCHAR(32),
Birth DATE)
RETURNS VARCHAR(64)
DETERMINISTIC
BEGIN

DECLARE _bdate VARCHAR(64);

SET _bdate = (SELECT CONCAT(First_Name, ' ', Last_Name, ' ', DATE_FORMAT(Birth, '%b %D, %Y')) FROM Info);
RETURN _bdate;

END //

DELIMITER ;

SELECT bdate('Marc', 'Smith', '2009-12-06');

返回

Marc Smith Dec 6th, 2009

关于mysql - 创建一个返回 John Daniel 的函数 2009 年 12 月 6 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59312964/

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