首页 > 解决方案 > 如何从行中解析出特定的文本?

问题描述

我有一个列名作为产品的表。产品包含产品名称,如自行车、沙发、桌子、椅子等。但这些名称有各种不同的自由文本。例如,有些人可能会说“每个客户的书籍”或“桌子标识为……”或“桌子没有物品编号……”。但我需要生成一个更标准的产品名称列表。目前我正在使用很多子字符串来切断名称后那些不需要的文本字符串。例如:

case when product like '%books%' then substring(product,1,position('per cus' in product)-8)
     else produce
end as product name

但我需要重复这一步来捕获所有模式。

我认为这不是很有效。有没有更好的方法来做到这一点?我什至考虑过 to_tsvector 或 to_tsquery,但它们不适用于这样的表,对吧?

标签: sqlstring

解决方案


推荐阅读