HGAqua
2017-03-15 02:38
采纳率: 0%
浏览 3.2k

mysql数据库查询所有包含非中文字符得数据。

mysql数据库。查询某个表得name属性。查询条件是如果全是中文则不查出来。如果包含中文和其他字符,比如:我是a,我是1
,我是(,……等等。只要name中包含非中文字符(包括字母数字,其他字符)时查询出所有得。这样得sql要怎么写

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 广哥教打杂 2017-03-15 05:29

    我用的是sqlserver,用正则表达式进行过滤就行。sql语句如下:

     select * from table1 WHERE PATINDEX('%[^吖-座]%',name) <> 0
    
    打赏 评论
  • 广哥教打杂 2017-03-15 05:29

    mysql使用正则表达式应该是REGEXP关键字。你自行替换一下。

    打赏 评论
  • 夕阳雨晴 2017-03-15 06:01

    Select * from account_info t where NOT (t.user_name REGEXP "[^u0391-uFFE5]+$");

    打赏 评论
  • HGAqua 2017-03-15 06:36

    使用regexp这个我知道。我的意思是一个name可能有中文得同时还包含其他字符,比如字母数字,点,冒号,括号,有些字符中英文下还是不同得编码,我需要能够把name不是纯中文汉字得数据全查出来。刚才夕阳雨晴给得sql不能查出来其他得字符。还有别的方法来解决这个问题么?

    打赏 评论

相关推荐 更多相似问题