从mysql表列中选取所需的内容

时间:2012-11-21 09:10:37

标签: mysql select

我有一张桌子和一列。该列包含如下数据

<!--:en-->some content<!--:-->
<!--:zh-->概况<!--:-->
<!--:dr-->some content<!--:-->
<!--:cp-->some content<!--:-->

我只对<!--:zh--><!--:-->之间的内容感兴趣。如何使用mysql SELECT

获取此内容

3 个答案:

答案 0 :(得分:1)

试试这个:

SELECT REPLACE(REPLACE(content, '<!--:zh-->' ,''), '<!--:-->', '') 
FROM tableName  
WHERE content  
LIKE('<!--:zh-->%<!--:-->')

点击此链接SQL Fiddle Demo

答案 1 :(得分:0)

SELECT column FROM table WHERE column LIKE "<!--:zh-->%<!--:-->"

并解析结果以丢弃,

答案 2 :(得分:0)

我刚刚在你的Question

中回答了这个问题
SET @PRE = '<!--:zh-->', @SUF = '<!--:-->';

SELECT
  content,
  SUBSTR( 
    content, 
    LOCATE( @PRE, content ) + LENGTH( @PRE ), 
    LOCATE( @SUF, content, LOCATE( @PRE, content ) ) - LOCATE( @PRE, content ) - LENGTH( @PRE ) 
  ) langcontent
FROM tab
WHERE content LIKE CONCAT( '%', @PRE, '%', @SUF, '%' );

所需的结果是列langcontent

SQL Fiddle DEMO