gpt4 book ai didi

mysql - 如何将日期时间字段分配给变量

转载 作者:行者123 更新时间:2023-11-29 18:14:26 25 4
gpt4 key购买 nike

我想将查询的值分配给 MySql 存储过程中的日期时间变量。

我正在尝试这个 -

DECLARE myDate DATETIME;

SET myDate = (SELECT date1 FROM myTable WHERE Id = var_myId);

还有这个

DECLARE myDate DATETIME;

SELECT date1 into myDate FROM myTable WHERE Id = var_myId;

两者似乎都不起作用,因为运行过程后我没有得到所需的结果。

编辑

问题出在这个声明中 -

initial_Date DATETIME; -- param1
interval INTEGER; -- param2

SET var_date2 = DATE_ADD(initial_Date , INTERVAL interval MINUTE);

当我选择 var_date2 时,我得到的结果为 null。

最佳答案

我发现您的存储过程有两个问题。

首先,您使用 sql 关键字 interval 命名变量。您应该使用不是 sql 关键字的单词进行重命名。

另一个是您没有设置输出变量。您可以看到the MySQL tutorials on stored procedure.

您可以使用并尝试以下代码:

delimiter //
create procedure test(in initial_time datetime, in minuteInterval integer(2),
out final_time datetime)
begin
set final_time = date_add(initial_time, interval minuteInterval minute);
end//
delimiter ;

要进行测试,您可以尝试:

call test(now(), 60, @final_time);
select @final_time;

这是我使用 mysql 5.5.21 进行测试的屏幕截图: test result

关于mysql - 如何将日期时间字段分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47140935/

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