gpt4 book ai didi

sql - 通过 Oracle SQL 中的变量传递时间间隔

转载 作者:行者123 更新时间:2023-12-02 04:55:47 25 4
gpt4 key购买 nike

此查询返回基于给定间隔时间 10 的值。

SELECT TO_CHAR((TO_DATE('23:20:20','HH24:MI:SS') - INTERVAL '10' MINUTE), 'HH24:MI:SS') 
FROM DUAL;

输出:

23:10:20

我想使用以下代码通过变量传递这一分钟间隔:

declare
test1 varchar(30);
begin
test1:=18;
SELECT TO_CHAR((TO_DATE('23:20:20','HH24:MI:SS') - INTERVAL ||test1|| MINUTE), 'HH24:MI:SS')
FROM DUAL;
end;

但它不起作用 - 错误是

PL/SQL: ORA-00904: "MINUTE": invalid identifier

请在这方面协助我。谢谢!

最佳答案

试试这个:

DECLARE
l_val NUMBER;
l_result VARCHAR2( 20 );
BEGIN
l_val := 10;

SELECT TO_CHAR( ( TO_DATE( '23:20:20', 'HH24:MI:SS' ) - INTERVAL '1' MINUTE * l_val ), 'HH24:MI:SS' ) INTO l_result FROM DUAL;

DBMS_OUTPUT.put_line( l_result );
END;

输出将是:
23:10:20

关于sql - 通过 Oracle SQL 中的变量传递时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24883153/

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