SQL 编译错误:位置 6 处的语法错误第 2 行意外'R'
Posted
技术标签:
【中文标题】SQL 编译错误:位置 6 处的语法错误第 2 行意外\'R\'【英文标题】: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' 的表中选择 *
【问题讨论】:
【参考方案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 时没有看到您的答案!以上是关于SQL 编译错误:位置 6 处的语法错误第 2 行意外'R'的主要内容,如果未能解决你的问题,请参考以下文章
SQL 编译错误:位置 157 的语法错误第 5 行意外'<EOF>'
通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 '=' 预期字符”错误的原因?