找不到ORA-00923 FROM关键字

时间:2009-09-17 13:51:27

标签: sql oracle plsql ora-00923

我正在尝试连接一些字段,以便从oracle表中为每一行返回一个字符串。这是10克。这是我的疑问:

SELECT t.value || '|' || t.label || '|' t.label_abbrv || '||' "mylist" 
  FROM list_value t
 WHERE t.value BETWEEN 195001 AND 195300;

我收到“找不到FROM关键字”错误。这真的很烦人。这是一个简单的查询。我确信这很简单,我很遗憾。

3 个答案:

答案 0 :(得分:2)

D'哦!我发现了这个问题。我错过了一个连环!

SELECT value || '|' || label || '|' ****||**** label_abbrv || '||' "mylist"
from list_value where (value between 195001 and 195300);

答案 1 :(得分:2)

如果您使用的是SQLPLUS客户端,它可以节省您一点时间:

SQL> SELECT value || '|' || label || '|' label_abbrv || '||' "mylist"
  2  from list_value where (value between 195001 and 195300);
SELECT value || '|' || label || '|' label_abbrv || '||' "mylist"
                                                *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

您可以将查询分解为多行以隔离问题:

SQL> edit
Wrote file afiedt.buf

  1  SELECT value || '|'
  2  || label ||
  3  '|' label_abbrv ||
  4  '||' "mylist"
  5  from list_value
  6  where
  7* (value between 195001 and 195300)
SQL> /
'|' label_abbrv ||
                *
ERROR at line 3:
ORA-00923: FROM keyword not found where expected

你可能会发现SQLPLUS是“原始的”,但是,嗯,这对另一个问题有好处。让我看看是否还有其他人问过它。

答案 2 :(得分:1)

我认为你对自己问题的回答仍然是错误的 - 应该是:

SELECT value || '|' || label || '|' || label_abbrv || '||' "mylist" 
                                   ^^^^