The **compare-on-binary way** is **NOT semantically-correct**
例如,当您想要对不同编码的字符串进行严格的字符串比较时,二进制比较方式就会出现错误。以下测试用例说明了原因:
在本例中,我希望将字段'北京 '中的字符串城市替换为string '北京111',但将字符串'北京'保持不变,因此我编写了以下sql:
SELECT CASE WHEN BINARY `城市` = BINARY '北京 ' THEN '北京111' ELSE `城市` END
FROM
我想检查我的fileName,可以是2013_09_北京.doc,2013_09_广东_1.doc或者2013_09_中国人_anywords.doc,但是我发现2013_09_北京.doc被选中了,但是2013_09_广东_1.doc似乎错了,我的代码有什么问题呢?
// fileName='2013_09_北京.doc';// right
fileName='2013_09_北京_1.doc';// wrong
var patt1 = new RegExp("^2013_(0[1-9]|1[0-2])_([\\u4e00-\\u9fa5]{2,3