MySQL兩種識別是否有中文字元的方法

Steven1981發表於2010-12-20
1) 用正式表示式 regexp "[u0391-uFFE5]"
2) 用length和char_length
[@more@]

drop table t1;
create table t1 ( id varchar(200)) default charset=utf8 ;
insert into t1 values ('中文'),('sdalfkj');

1)用正式表示式 regexp "[u0391-uFFE5]"

: test 21:55:33> select id ,id regexp "[u0391-uFFE5][u0391-uFFE5]" from t1;
+---------+--------------------------------------------+
| id | id regexp "[u0391-uFFE5][u0391-uFFE5]" |
+---------+--------------------------------------------+
| 中文 | 0 |
| sdalfkj | 1 |
+---------+--------------------------------------------+
2 rows in set (0.01 sec)


2) 用length和char_length
: test 23:33:13> select id,length(id),char_length(id) from t1;
+---------+------------+-----------------+
| id | length(id) | char_length(id) |
+---------+------------+-----------------+
| 中文 | 6 | 2 |
| sdalfkj | 7 | 7 |
+---------+------------+-----------------+
2 rows in set (0.00 sec)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/703656/viewspace-1043366/,如需轉載,請註明出處,否則將追究法律責任。

相關文章