从SQL中的多个数据库行中删除特定的字符串
问题描述:
我有一个包含页面标题的列,其中网站名称附加在每个标题的末尾。 (例如产品名称|公司名称公司)我想删除“|公司名称公司”从多行同时进行。什么SQl查询命令(或查询本身)可以让我做到这一点?从SQL中的多个数据库行中删除特定的字符串
要重新说明,我想从此转换多列1列: 产品名称|公司名称公司
要这样: 产品名称
答
你的意思是这样(在SQL Server):
Update Table
Set PageTitle = Substring(PageTitle, 1, CharIndex('|', PageTitle) - 1)
基本上,我使用CHARINDEX找到分隔符( '|' ),然后使用Substring查找分隔符之前的所有内容。
在MySQL中,我相信这将是沿着线:
Update Table
Set PageTitle = Substring(PageTitle, 1, Substring_Index(PageTitle, '|') - 1)
我觉得傻,我只是想起了替换功能,在这里就是我所做的。 SET PageTitle = replace(Page Title,'| Company Name Inc.',''); – Scott 2010-04-20 18:28:32
@Scott - 啊。我假设“|公司名称公司”是名字的占位符,而不是字面静态文本。 – Thomas 2010-04-20 18:33:55