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

BigQuery如何基于位置截取字符串(丢弃右侧指定数量字符)

解决方案:BigQuery中基于位置截取并丢弃右侧指定字符的子串

针对需要从字符串右侧丢弃固定数量字符的需求,无需使用正则,可结合**CHAR_LENGTH()函数获取字符串长度,再通过SUBSTR()或LEFT()**实现基于位置的截取。

用你提供的示例数据,实现代码如下:

WITH items AS
  (SELECT 'apple' as item
  UNION ALL
  SELECT 'banana' as item
  UNION ALL
  SELECT 'orange' as item)
SELECT SUBSTR(item, 1, CHAR_LENGTH(item) - 2) AS example
FROM items;

也可以用LEFT()函数实现,效果完全一致:

WITH items AS
  (SELECT 'apple' as item
  UNION ALL
  SELECT 'banana' as item
  UNION ALL
  SELECT 'orange' as item)
SELECT LEFT(item, CHAR_LENGTH(item) - 2) AS example
FROM items;

执行后会输出你期望的结果:

+---------+
| example |
+---------+
| app     |
| bana    |
| oran    |
+---------+

原理很直接:先通过CHAR_LENGTH(item)获取每个字符串的总长度,减去要丢弃的右侧字符数(此处为2),再用SUBSTR从第1位开始截取到计算后的长度,或是直接用LEFT截取对应长度的字符,就能实现从右侧丢弃指定数量字符的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:27:43