大家好,我有一个简单的问题,但事实证明这很耗时。因此,即时通讯编写了一个选择,我想在其中选择一个字符串并将其与列连接起来
结果应如下所示;
ERIP -> <suppliername>
我有
SELECT 'ERIP' || ' -> ' || s.suppliername,
s.supplierunn,
...
到目前为止,我已经尝试过
SELECT CONCAT('ERIP', '->', s.suppliername),
...
也
SELECT CONCAT(CONCAT('ERIP', '->'), s.suppliername),
...
也
SELECT || 'ERIP' || '->' || s.suppliername,
...
我收到ORA-01722错误或ORA-00909
有人可以引导我吗?带有少量解释的投票也会获得投票
如所指出的,WHERE语句就是问题所在。
以前它给出了错误
WHERE ss.outserverid = '43'
将其更改为
WHERE ss.outserverid LIKE '%43%'
答案 0 :(得分:2)
这应该有效:
SELECT 'ERIP ->'|| s.suppliername ..
..
From <Table>
WHERE ss.outserverid = 43; -- Removes quotes across 43
看起来列ss.outserverid
的数据类型为Number
,而您试图将其等同于varchar
。如上图所示尝试。
编辑:
演示以说明;
不会引起任何问题,它是行终止符,不应引起任何错误:
SQL> SELECT * FROM V$VERSION;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SQL> create table test(col number);
Table created
SQL> select * from test;
COL
----------
SQL>