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

Spark SQL提取首个点号前字符串报错:Undefined function: 'charindex'

Spark SQL提取首个句号前字符并转大写的解决方案

Spark SQL中不存在charindex函数,这是你报错的核心原因——该函数属于SQL Server等数据库,Spark SQL并未支持。以下是两种可实现需求的写法:

方法1:使用INSTR+SUBSTRING组合

SELECT UPPER(SUBSTRING(Place, 1, INSTR(Place, '.') - 1)) AS City
FROM your_table;
  • INSTR(Place, '.'):获取首个英文句号.在字符串中的位置
  • SUBSTRING(Place, 1, 位置值-1):截取从字符串开头到句号前的部分
  • UPPER():将截取结果转为大写

方法2:使用SPLIT拆分字符串

SELECT UPPER(SPLIT(Place, '\\.')[0]) AS City
FROM your_table;
  • SPLIT(Place, '\\.'):按.拆分字符串(.是正则特殊字符,需用双反斜杠转义)
  • [0]:取拆分后的第一个元素
  • UPPER():将结果转为大写

两种方法运行后,都会得到你期望的输出:

City
CHICAGO
DENVER
DALLAS

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:33:22