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

SQL中REGEXP_EXTRACT拆分食材字段异常,求修正正则表达式

修正Netezza中拆分ingredients字段的正则表达式

修正后的SQL语句如下:

SELECT 
    order_no,
    ingredients,
    REGEXP_EXTRACT(ingredients, '([^\\-]*)', 1) AS x1,
    REGEXP_EXTRACT(ingredients, '^[^\\-]*\\-([^\\-]*)', 1) AS x2,
    REGEXP_EXTRACT(ingredients, '^[^\\-]*\\-[^\\-]*\\-([^\\-]*)', 1) AS x3
FROM 
    pizza_orders;

正则调整说明

  • x2的修正:原正则\-([^\\-]*)会匹配字符串中任意位置的-后内容,无法保证只取第一个-后的第二部分。新正则^[^\\-]*\\-([^\\-]*)从字符串开头定位:先匹配第一部分非-内容+第一个-,再捕获后续的非-内容(即第二部分),无第二部分时返回NULL。
  • x3的修正:原正则\-[^\\-]*\\-(.*)会捕获第二个-后的所有内容(含后续-和片段),不符合你需要第三部分的需求。新正则^[^\\-]*\\-[^\\-]*\\-([^\\-]*)明确匹配前两部分内容+对应-,再捕获第三部分的非-内容,无第三部分时返回NULL。

验证结果

order_noingredientsx1x2x3
1cheese-olives-peppers-olivescheeseolivespeppers
2cheese-olivescheeseolivesNULL
3cheese-tomatoes-olivescheesetomatoesolives
4cheesecheeseNULLNULL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:21:04