【问题标题】:Error in SELECT DISTINCT command in db2 when pasting the SQL script粘贴 SQL 脚本时 db2 中的 SELECT DISTINCT 命令出错
【发布时间】:2017-05-13 14:34:12
【问题描述】:

当我将我的 SQL 脚本粘贴到 db2 命令行时出现此错误,

SQL3022N 处理 SELECT 时发生 SQL 错误“-104” 操作字符串参数中的字符串。

SQL0104N 意外标记“car.ID 为“Car ID”,car.SPEED 为“S” 在“SELECT DISTINCT”之后发现。预期的令牌可能包括: “(空间)”。 SQLSTATE=42601

这是我的 SQL 脚本:

EXPORT TO car.csv OF DEL SELECT DISTINCT car.ID as "Car ID", car.SPEED as "Car SPEED", ..

我不太确定错误是什么。我也一直在删除我的代码中的内容以检查它是否会改变错误,但它仍然是一样的。这可能有什么问题?

【问题讨论】:

  • 不知道db2,不过好像不支持别名中的空格。试试"Car\ ID"。顺便说一句,这里不需要标签mysql
  • 迈克尔,谢谢你,我试过了。错误仍然相同。 SQL0104N 意外的标记“car.ID 作为“Car\ ID”..
  • 试试 Car_ID 和 Car_Speed
  • 是的,试过了,还是一样的错误。我也试过删除 as "Car ID" 和 as "Car SPEED",错误还是一样,SQL0104N An unexpected token "car.ID, car.SPEED" was found after "SELECT DISTINCT".预期的标记可能包括:“”。 SQLSTATE=42601
  • 然后发布您的表格结构广告完整查询。

标签: sql select db2 distinct


【解决方案1】:

尽量逃避

"

就像我在这里的例子:

db2 "export to test.del of del select empno as \"Employee Number\" from employee "

【讨论】:

  • 这出现了。 'SQL3022N 处理操作字符串参数中的 SELECT 字符串时发生 SQL 错误“-7”。 SQL0007N “DISTINCT car.ID as”后面的字符“\”无效。 SQLSTATE=42601'
  • 您是否将语句括在“ ”中?哪个操作系统?
  • 是的,我做到了。在 db2 "export ... ;" 之后,我的操作系统是 RHEL 7.3。
  • 完整的查询会很有帮助——如上所述。你是从 shell 运行它吗?
【解决方案2】:

错误来自您分配的列名:

改变: 汽车 ID => Car_ID

汽车速度 => Car_SPEED

EXPORT TO car.csv OF DEL SELECT DISTINCT car.ID as Car_ID , car.SPEED as Car_SPEED, ..

【讨论】:

    猜你喜欢
    • 2014-12-02
    • 2017-01-05
    • 2021-12-06
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多