gpt4 book ai didi

sql - Oracle SQL 查询中的常量

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:46 25 4
gpt4 key购买 nike

我是 Oracle 的新手(虽然熟悉 SQL)并且必须编写一个相当复杂的查询,其中多次使用从当前日期派生的值。与其每次都计算值,不如为此目的声明一个常量。

但是,当我随后尝试在后续的 SELECT 语句(我希望返回基于“DateIndex”的值)中使用我的 DateIndex 常量时,解析器告诉我它正在执行 SELECT INTO。

我所拥有的(简化为最低形式)是...

 DECLARE DateIndex CONSTANT NUMBER(10,0) := 24;

BEGIN
SELECT DateIndex
FROM DUAL;
END;

是否只能在选择到表中而不返回结果时使用常量?看起来很奇怪。

请注意,我没有对数据库的写入权限。

非常感谢您的帮助。

最佳答案

我更喜欢 WITH 和 DUAL 表的以下用法:

WITH 
const AS ( SELECT
3.14 AS pi,
1 AS one
FROM DUAL
)
SELECT * FROM sometable t, const
WHERE t.value = const.pi;

这使您可以在语句中使用常量之前定义常量,并且实际语句不会因子选择而困惑。

关于sql - Oracle SQL 查询中的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1293008/

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