gpt4 book ai didi

MySQL自定义函数选择记录

转载 作者:行者123 更新时间:2023-11-29 22:40:48 25 4
gpt4 key购买 nike

我正在尝试在 MySQL 中创建一个自定义函数,该函数将采用 UNIX 日期时间戳并将其转换回实际日期,并在该函数中根据该日期从表中选择一个值。

Create function fiscal(current TIMESTAMP)
Returns INT
Begin
Declare select_date DATE;
Declare select_year INT(11);
SET select_date = FROM_UNIXTIME(current);
SET select_date = DATE_FORMAT(select_date, '%m-%d-%y');
SET select_year = (SELECT Year FROM DateInfo WHERE DateInfo_ID = select_date);
Return select_year;
END

它返回一个 NULL 值。

最佳答案

您必须在 RETURNS 语句中指定返回值的数据类型。它可以是任何有效的 MySQL 数据类型。

RETURN 语句向调用者返回一个值。每当到达 RETURN 语句时,存储函数的执行就会立即终止。

对于相同的输入参数,如果存储的函数返回相同的结果,则认为是确定性的,否则认为是不确定性的。

DELIMITER $$
Create function fiscal(current TIMESTAMP)
Returns INT(11) NOT DETERMINISTIC
Begin
Declare select_date DATE;
Declare select_year INT(11);
SET select_date = FROM_UNIXTIME(current);
SET select_date = DATE_FORMAT(select_date, '%m-%d-%y');
SET select_year = (SELECT Year FROM DateInfo WHERE DateInfo_ID = select_date);
Return (select_year);
END

或者返回值可能不是 INT。在这种情况下,请尝试以下操作:

...
Returns VARCHAR(10)
...
Declare select_year VARCHAR(10);
...

关于MySQL自定义函数选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360259/

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