我有一列包含productID、catalogID 和organization。 例如1000002121US200100包含1000002121=产品ID,US20=目录ID,01=产品渠道,最后00=销售区域。
有没有办法可以使用字符串的位置来分割它。 我可以执行 left('fieldname',10) 来获取前 10 个字符,从而获得产品 ID。 如何将接下来的 4 个字符提取到单独的列中等等?
我尝试过使用 left() 函数、split_part 和 regex_extract
这行不通? -- 获取产品ID(前10个字符) 选择左侧(字段名称,10)作为产品ID,
-- 获取catalogID(接下来的4个字符) SUBSTRING(字段名称, 11, 4) AS 目录ID,
-- 获取产品渠道(接下来的 2 个字符) SUBSTRING(字段名称, 15, 2) AS 产品通道,
-- 获取销售区域(最后2个字符) SUBSTRING(字段名称, 17, 2) AS salesArea
来自你的表;