【问题标题】:SQL compilation error: syntax error line 2 at position 6 unexpected ' R'SQL 编译错误:位置 6 处的语法错误第 2 行意外'R'
【发布时间】:2021-08-11 19:12:07
【问题描述】:

我在 where 子句中使用了 RIGHT 函数,但它抛出了意外的错误“R”。请您在下面提供帮助

从 RIGHT(DATE, 10) ='2020-07-26' 的表中选择 *

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    您发布的是有效的 SQL。您省略的查询还有更多内容吗?

    with tbl as (select $1 DATE from values ('2021-01-01'))
    
    select * from tbl where RIGHT(DATE, 10) ='2021-01-01';
    
    DATE
    2021-01-01
    

    【讨论】:

    • with cte as (SELECT max(MFP_LOAD_TS) as MFP_LOAD_TS FROM DEV_DL2_INSURANCE_RQ.ANNUITIES.OPERATIONS_LC3PD_FEE where RIGHT(MFP_FILE_ID, 10)='2021-07-26') 从 cte 中选择 MFP_LOAD_TS
    • SQL 编译错误:位置 6 处的语法错误第 3 行意外“R”。位置 14 处的语法错误第 3 行意外的“MFP_FILE_ID”。位置 31 处的第 3 行语法错误意外'='。
    • Also MFP_FILE_ID Is varchar 我需要转换为日期值为“1628025367-LC3PD_FEE-20210730122830-2021-07-26”
    【解决方案2】:

    问题已解决,因为 where 和 Right 之间有特殊字符

    【讨论】:

      【解决方案3】:

      当我在 WHERE 和 RIGHT 关键字之间放置一个不可见字符时,我能够产生同样的错误。所以肯定有一个不可见的字符导致了这个错误。

      作为一种解决方法,尝试从头开始重新编写查询,或者删除关键字之间的所有空格并重新放置空格。

      【讨论】:

      • 啊,我在发布我的回复 Jaswanth 时没有看到您的答案!
      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      相关资源
      最近更新 更多