You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark SQL解析报错:输入不匹配期望{<EOF>, ';'}的问题求助

Spark SQL解析错误原因及修复方案

你的SQL存在括号不匹配的语法错误,导致Spark解析器无法正确识别语句结构,从而抛出mismatched input 'BirthYear' expecting {, ';'}错误。

具体错误分析

看第一个CASE的第二个WHEN语句:

WHEN TRYCAST(CONCAT(CAST(BirthYear AS string), '-', CAST(BirthMonth AS string), '-', CAST(BirthDay AS string) AS DATE FORMAT 'YYYY-MM-DD')) IS NOT NULL THEN ...

这里CONCAT()函数的括号未闭合——你在CAST(BirthDay AS string)之后直接写了AS DATE FORMAT 'YYYY-MM-DD',但CONCAT的参数列表还未结束(缺少闭合括号),解析器因此无法正确解析后续内容,触发语法报错。

另外还有两处细节问题:

  • 同一个WHEN里的第二个CONCAT错误重复了CAST(BirthMonth AS string),应该替换为CAST(BirthYear AS string)
  • 第二个CASE语句中的TRYCAST也存在完全相同的括号不匹配问题

修复后的完整SQL

select
    TransactionID as txn_id,
    Message as msg_txt,
    Source as src_sys,
    Firstname as indv_frst_nm,
    Middlename as indv_mdl_nm,
    Lastname as indv_last_nm,
    CASE
        WHEN BirthYear IS NULL OR BirthMonth IS NULL OR BirthDay IS NULL THEN ''
        WHEN TRYCAST(CONCAT(CAST(BirthYear AS string), '-', CAST(BirthMonth AS string), '-', CAST(BirthDay AS string)) AS DATE FORMAT 'YYYY-MM-DD') IS NOT NULL THEN 
            CAST(TRYCAST(CONCAT(CAST(BirthYear AS string), '-', CAST(BirthMonth AS string), '-', CAST(BirthDay AS string)) AS DATE FORMAT 'YYYY-MM-DD') AS string)
        ELSE '9999-12-31'
    END AS indv_brth_dt,
    DecisionCode as dcsn_cd,
    tddate as td_dt,
    RUN_ID as run_id,
    AuthorizedRepAddressCounty as auth_rep_verf_ad_cnty_nm,
    CASE
        WHEN TRYCAST(CONCAT(CAST(AuthorizedRepYearOfBirth AS string), '-', CAST(AuthorizedRepMonthOfBirth AS string), '-', CAST(AuthorizedRepDayOfBirth AS string)) AS DATE FORMAT 'YYYY-MM-DD') IS NOT NULL THEN
            CAST(TRYCAST(CONCAT(CAST(AuthorizedRepYearOfBirth AS string), '-', CAST(AuthorizedRepMonthOfBirth AS string), '-', CAST(AuthorizedRepDayOfBirth AS string)) AS DATE FORMAT 'YYYY-MM-DD') AS string)
        ELSE
            NULL
    END AS auth_rep_verf_brth_dt
from table_name;

内容的提问来源于stack exchange,提问作者INeedHelp101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:16:12