SUBSTRING_INDEX 起始位置

问题描述 投票:0回答:1

我正在尝试使用 SUBSTRING_INDEX 选择两个值之间的字符串,我需要第二个分隔符是第一个分隔符之后的第一次出现,因为分隔符的出现次数是随机的

我希望这是有道理的

SET @initials := 'appear)","value":"';
SET @initialsE := '"';

SELECT
sales_order_item.product_options,
    SUBSTRING_INDEX(SUBSTRING_INDEX(sales_order_item.product_options,@initialsE,1),@initials,-1) AS 'Name'
FROM
    sales_order_grid
    INNER JOIN
    sales_order_item
    ON 
        sales_order_item.order_id = sales_order_grid.entity_id

我希望它找到 @initials 和 @initials 之后第一次出现 @initialsE 之间的字符串

mysql subquery
1个回答
0
投票

SUBSTRING_INDEX(SUBSTRING_INDEX(sales_order_item.product_options,@initialsE,1),@initials,-1) AS 'Name'

应该是

SUBSTRING_INDEX(SUBSTRING_INDEX(sales_order_item.product_options,@initials,-1),@initialse,1) AS 'Name',

© www.soinside.com 2019 - 2024. All rights reserved.