gpt4 book ai didi

mysql - 在 sql 查询中使用变量

转载 作者:行者123 更新时间:2023-11-29 19:04:06 25 4
gpt4 key购买 nike

如果我有以下变量:

@q='minute'
@r=5

如何在查询中使用它们,使其形成以下内容:

select CURRENT_TIME - interval 5 minute;

我已尝试以下方法,但不起作用:

select CURRENT_TIME - interval @r @q;

最佳答案

您必须使用准备好的语句来创建动态查询,如下所示:

set @q='minute';
set @r=5;
set @sql = concat("select CURRENT_TIME - interval ",@r," ", @q, " into @result_var;");

prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;

select @result_var;

变量@result_var将包含时间计算的结果。

更新:准备好的语句在触发器上不可用,但如果只有分钟小时,则可以使用标准case when语句 对于 @q 变量:

-- procedure body

set @q='hour';
set @r=5;

set @result_var = 0;

case
when @q = 'minute' then
select CURRENT_TIME - interval @r minute into @result_var;
when @q = 'hour' then
select CURRENT_TIME - interval @r hour into @result_var;
end case;

select @result_var;

-- end procedure body

再次强调:变量@result_var将包含时间计算的结果。

关于mysql - 在 sql 查询中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43646184/

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