【问题标题】:Error in rsqlite_send_query(conn@ptr, statement) : near "(": syntax errorrsqlite_send_query(conn@ptr,语句)中的错误:“(”附近:语法错误
【发布时间】:2018-02-14 18:55:59
【问题描述】:

以下代码行:

sqldf("UPDATE q1_sql_1 SET MONTH_YEAR = RIGHT(MONTH_YEAR, LEN(MONTH_YEAR) - 4)")

显示此错误:

Error in rsqlite_send_query(conn@ptr, statement) : near "(": syntax error

【问题讨论】:

  • 使用RIGHTSTR 而不是RIGHT
  • 但是我不明白为什么错误消息是syntax error,它应该是no such function: RIGHT。这很奇怪。
  • 只有一半是重复的。 sql语句实际上有两个错误。看我的回答。
  • @G.Grothendieck 我同意。你知道为什么select right('abc', 2) 会报告语法错误而不是未知函数吗?
  • 即使没有 R,sqlite 也会产生语法错误。

标签: sql r sql-update rsqlite


【解决方案1】:

使用lengthrightstr。有关 SQLite 中可用的功能,请参阅:

https://www.sqlite.org/lang_corefunc.html

对于 RSQLite 也提供的贡献函数:

https://github.com/ggrothendieck/sqldf#example-15-use-of-rsqliteextfuns-library-functions

【讨论】:

    猜你喜欢
    • 2018-09-14
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多