问题是这样,我在SQL脚本中写出select * from sheet1 where album regexp'..'
目的是找出表里2个字符的数据,但是结果却显示了各种数量的汉字,如保镖,爆米花,all in,复仇血战等等,
在MYSQL里一个汉字应该对应2个字符吧,自己始终不太明白是怎么回事希望大家解惑!
目的是找出表里2个字符的数据,但是结果却显示了各种数量的汉字,如保镖,爆米花,all in,复仇血战等等,
在MYSQL里一个汉字应该对应2个字符吧,自己始终不太明白是怎么回事希望大家解惑!
如果你的字符集设置为GBK,UTF,则处理过程中会把两个字节的字符认为是一个字符。
正则式中 . 代表一个字符,不是一个字节。
调试通过
你用LEGTH(字段名)测试一下长度,如为4
select *,length(gg) from aa where gg regexp '^.{4}$' 就OK
select * from sheet1 where album regexp '^.*$' ;
不妨先试试,多字符的,然后再逐步减少字符的数量。会不会和你字符集设置有关。
比如:
12 长度2
一 长度2 OR 1
王2 长度3 OR 2