查找以不同子字符串开头和结尾的字符串,并插入到新列中

时间:2015-06-29 18:34:47

标签: mysql sql

我有两列,post_contentpostmeta_value。我需要选择以<i>开头并以</i>列中的post_content结尾的字符串的第一个实例,然后将该值插入postmeta_value

2 个答案:

答案 0 :(得分:0)

您可以使用反斜杠来转义LIKE子句中的特殊字符。因此,如果要查找具有以该值开头并以该值开头的列的行,请尝试以下操作:

SELECT *
FROM myTable
WHERE post_content LIKE '<i>%</i>';

看起来很难读,所以让我为你解读。正面和背面的单引号是您要搜索的字符串的终止引号。 <i></i>的每次出现都在搜索标记。中间的通配符(%)将匹配0个或更多字符,这意味着如果一行只是<i></i>,它将是包括在内。

以下是SQL Fiddle示例。

完成后,可以在insert语句中使用select子句:

INSERT INTO myTable (postmeta_value) SELECT ...

答案 1 :(得分:0)

如果只想要1行,那么可以添加限制1来限制查询只返回1行。

INSERT INTO yourTable (postmeta_value) 
SELECT post_content FROM yourTable WHERE post_content LIKE '<i>%</i>' limit 1;