【发布时间】:2013-08-10 08:02:52
【问题描述】:
我正在与使用 Oracle 11g 的 SQL 开发人员合作。我有一个查询,看起来与此类似;
SELECT [column], [column], [column],...... rs.notes
FROM [table], [table], [table]............ return_sku rs
WHERE [conditions] AND [conditions] AND [conditions]
在return_sku 列中有制表符、空格和换行符(我相信这是回车符?)我需要在运行查询时使所有这些空格、回车符和制表符消失。
我对 SQL 还很陌生,但我发现最流行的搜索结果是 REPLACE 函数。我完全不知道如何使用它,因为我已经以许多不同的方式尝试了这个,但没有结果。我尝试了以下方法;
SELECT [column], [column], [column],...... REPLACE(rs.notes, Char(10), '')
FROM [table], [table], [table]............ return_sku rs
WHERE [conditions] AND [conditions] AND [conditions]
这给出了错误消息:
ORA-00904: "RS"."NOTES": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 3 Column: 531
如何正确使用该功能?
【问题讨论】:
-
错误提示您的
return_sku表没有notes列;或者您丢失了别名,或者您在子查询中拥有该表及其别名。像这样重新键入代码而不是显示实际演示行为的内容的麻烦在于,您可能会在此过程中丢失实际问题,特别是如果它是一个错字。也许你可以通过只从那个表中选择来得到同样的错误,并且可以向我们展示表定义。应该是chr(10),顺便说一下,不是char(10)。