2012-04-14 66 views
2

我试图在字符串中找到某些文本“catid = 18”,其中每个字符串都是不同的,除此之外。 我以前在下面使用过这个查询,除非它只在知道整个字符串时才起作用。SQL查找并替换部分字符串

update TABLE_NAME 
set FIELD_NAME = replace(FIELD_NAME, 'findthis', 'replacewiththis'); 
+1

你想找到一个字符串,并使用替代?你能否提供更多信息? – 2012-04-14 13:06:41

回答

1

不知道这是你想要的。但它会返回1如果catid=any_num被发现,0如果不是:

select 'some_text catid=18 some_text' REGEXP 'catid=[0-9]+' 
1

也许你需要:

update TABLE_NAME 
set FIELD_NAME = 'goodvalue' 
WHERE FIELD_NAME = 'badvalue'; 
+0

更具体地说,这里是其中一个网址。我试图用catid =“7”替换“catid = 51”。每个网址是不同的: 的index.php选项= com_content &视图=文章& ID = 149:多目标-时,决定到销售-A型医疗实践& CATID = 51:文章&的itemid = 114 – 2012-04-14 14:28:42

+0

他们都存在于同一个表和字段名称,如果有帮助 – 2012-04-14 14:34:23

+0

现在你正在谈论的网址。请向我们展示一些来自真实表格的实际数据,而不是你的元音喋喋不休。 – wildplasser 2012-04-14 15:08:41