[英]Terminating a Substitution Variable Name in PL/SQL Developer
我正在尝试编写一个查询,该查询在替换变量之后立即包含文本。 我知道它可以在 SQL Plus 中完成,但我不确定在不使用动态 SQL 的情况下是否可以在 PL/SQL Developer 中完成。 作为一个简单的例子,我用测试数据创建了这个表:
CREATE TABLE TEST_TABLE AS
SELECT 1 AS COL_1 FROM DUAL
UNION
SELECT 1.1 AS COL_1 FROM DUAL
UNION
SELECT 11 AS COL_1 FROM DUAL
从我读过的内容来看,替换变量的结尾用句点 (.) 表示。 但是,这似乎只能在 SQL Plus 中正常工作。
SQL> SELECT * FROM TEST_TABLE
2 WHERE COL_1 = &SUB_VAR.1;
COL_1
----------
11
当我运行上面的查询并在提示输入SUB_VAR
的值时输入1
时,我会根据需要返回11
。
但是,当我在 PL/SQL Developer 的 SQL 窗口中运行相同的查询时,返回的是1.1
,这表明它将句点视为小数点。
有没有办法在 PL/SQL Developer 的 SQL 窗口中复制与 SQL Plus 中相同的行为?
这将是连接,以及可能的数据类型转换( TO_NUMBER
、 TO_CHAR
、 CAST
等)。
这就是我的意思:
SQL> select *
2 from test_table
3 where col_1 = to_number(&sub_var || '1');
Enter value for sub_var: 1
COL_1
----------
11
SQL>
我想到了。 我需要做的就是将替换变量名用双引号括起来。
SELECT * FROM TEST_TABLE
WHERE COL_1 = &"SUB_VAR"1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.