我正在尝试连接用作列名的字符串
我想做的事情如下:
Select someData as "ONE" || :someVariable) from sometable;
其中someVariable是一个绑定变量,不能用双引号括起来。(如果为someVariable = 2018
,则列的名称应为"ONE2018"
。)
我试过用单引号和concat函数,但是没有用,有什么办法可以做到吗?
编辑:灵感来自littlefoots的答案,我尝试
declare
customVariable number(4);
rc sys_refcursor;
begin
open rc for 'select 1 as bla' || :customVariable || ' from dual';
dbms_sql.return_result(rc);
end;
/
它的输出
BLA2018
----------
1
我不知道如何将其放入PreparedStatement中,但如果单独使用,它会起作用,可能会帮助其他人
1条答案
按热度按时间q8l4jmvw1#
以下示例基于Scott的
EMP
表,该表包含名称以E
开头的列:ENAME
和EMPNO
中的一个或多个。您将传递
NAME
或MPNO
并获得结果。