sql - 如何从行中解析出特定的文本?
问题描述
我有一个列名作为产品的表。产品包含产品名称,如自行车、沙发、桌子、椅子等。但这些名称有各种不同的自由文本。例如,有些人可能会说“每个客户的书籍”或“桌子标识为……”或“桌子没有物品编号……”。但我需要生成一个更标准的产品名称列表。目前我正在使用很多子字符串来切断名称后那些不需要的文本字符串。例如:
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,但它们不适用于这样的表,对吧?
解决方案
推荐阅读
- javascript - 节点调度回调中的回调
- powershell - 如何在powershell中提供独特的输出
- c++ - 检查一个元素是否在 C++ 集中真的很慢
- macos - 检测是否安装并启用了 Safari 应用程序扩展
- python - AttributeError:“命名空间”对象没有属性“url”
- python - 当我尝试在 python 中使用 xlrd 比较两张工作表时,代码没有运行
- jquery - jQuery .val() 连接而不是加法
- postgresql - 如何通过引用表A为表B添加外键,通过引用表B在PostgreSQL中为表A添加外键?
- google-chrome - Karma:使用来自 WSL 的 Windows 的 Chrome
- c# - SqlDataReader 因未知原因关闭