0

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

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

我只对<!--:zh--><!--:-->. 如何使用 mysql 获取此内容SELECT

4

3 回答 3

1

尝试这个:

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

检查此链接SQL Fiddle Demo

于 2012-11-21T09:15:20.563 回答
0

I have just answered this in your 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, '%' );

The desired result is in column langcontent

SQL Fiddle DEMO

于 2012-12-13T20:38:48.323 回答
0
SELECT column FROM table WHERE column LIKE "<!--:zh-->%<!--:-->"

并解析结果以丢弃 ,

于 2012-11-21T09:23:18.997 回答