选择包含mysql中特定字符的值

时间:2014-07-25 10:10:26

标签: mysql

我有一个数据库表,其中包含同一列中的印地语和英语的问题,但是用关键字[en]英语[en:]和[hi] hindi语言[hi:]分隔,其中一些没有分开按语言标签

我想只选择在mysql中有[en] [en:]和[hi] [hi:]标签的问题

4 个答案:

答案 0 :(得分:3)

Select * from table_name
 where question like '%[en]%' or 
       question like '%[en:]%' or 
       question like '%[hi]%' or 
       question like '%[hi:]%'

如果开始标记的格式为'[en]'且结束标记的格式为'[en:]',那么

Select * from table_name
 where question like '%[en]%[en:]' or 
       question like '%[hi]%[hi:]'

答案 1 :(得分:2)

Select *
From mytable
Where mycolumn like '%[en]%[en:]%'
    and mycolumn like '%[hi]%[hi:]%'

请注意,此查询的性能不是很高,但这是您未正常化数据库所能获得的。

您可以使用正则表达式匹配,以确保无法找到'标记'包含其他标签,如[en] foo [hi] bar [en:],但这会使性能更差。

答案 2 :(得分:0)

添加另一列eq枚举类型EN => [Y,N] HI [Y,N],您可以像其他问题一样使用查询来更新数据库。所以每次使用像搜索一样更优化

答案 3 :(得分:0)

我发现这个工作

Select * from table_name
       where question like '%en%'