网上查到\u4e00-\u9fa5表示unicode的中文范围,可数据库中测试的时候发现结果相反。(数据库为utf8)。现在求助大家一个mysql中的正则。要求如下:如果一个字符串中包含有中文(当然也可以包含数字,括号,下划线,空格,标点符号等等),包含中文是必须的条件,那么就返回true,否则返回false。请大家看仔细,一定要包含中文,其他字符不限制。
解决方案 »
- 在mysql用这个算法,是否能保证分批处理了全部记录,并每条记录只处理了一次
- MySQL5.1.4 强制使用所用报错!
- 关于MYSQL的复制问题,MM热备
- 100分请 wwwwa 大哥 和 ACMAIN_CHM大哥解决一下这个问题。。江湖救急
- 求一个mysql查询语句
- 关于 MYSQL 数据库备份, 急!!!
- postgresql使用问题??急,谢谢
- 如何将mysql中的数据库导出到一个.sql或txt文件(包括结构和数据)??
- insert into ta select xx 如何产生不一样的ID?
- 关于INNODB 冷备份的问题
- libpqC库中是否提供数据库备份的函数?
- 交学费,问个关于用psql语句导出数据的问题
SELECT *
FROM `snuo_news_text`
WHERE textname REGEXP '[^ -~]' =1
mysql> select 'ab12A=' regexp '[^ -~]';
+--------------------------+
| 'ab12A=' regexp '[^ -~]' |
+--------------------------+
| 0 |
+--------------------------+
1 row in set (0.00 sec)mysql> select 'ab1字2A=' regexp '[^ -~]';
+----------------------------+
| 'ab1字2A=' regexp '[^ -~]' |
+----------------------------+
| 1 |
+----------------------------+
1 row in set (0.00 sec)mysql> select 'ab12A\t=' regexp '[^ -~]';
+----------------------------+
| 'ab12A\t=' regexp '[^ -~]' |
+----------------------------+
| 1 |
+----------------------------+
1 row in set (0.00 sec)
正确的应该如下。
mysql> select 'ab12A=' regexp '[^[.NUL.]-~]';
+--------------------------------+
| 'ab12A=' regexp '[^[.NUL.]-~]' |
+--------------------------------+
| 0 |
+--------------------------------+
1 row in set (0.00 sec)mysql> select 'ab12A\t=' regexp '[^[.NUL.]-~]';
+----------------------------------+
| 'ab12A\t=' regexp '[^[.NUL.]-~]' |
+----------------------------------+
| 0 |
+----------------------------------+
1 row in set (0.00 sec)mysql> select 'adf字123符串rg' regexp '[^[.NUL.]-~]';
+----------------------------------------+
| 'adf字123符串rg' regexp '[^[.NUL.]-~]' |
+----------------------------------------+
| 1 |
+----------------------------------------+
1 row in set (0.02 sec)mysql>