请教:我在用 SELECT 语句时,要把 MySQL 的对应字段转成大写,用什么方法呀?
我用 ucase(字段),可还是找不到…………
SELECT * FROM product WHERE ucase(name) LIKE '%$abc%'
$abc变量实际是“ABC”,表字段中有几种“ABC”“abc”“Abc”
只能找到一条是不是我的 name 字段用了 varbinary 属性就不能实现转换呢?

解决方案 »

  1.   

    select * from product where ucase(name) regexp  '[A-C]'
      

  2.   

    1楼的朋友,谢谢你的回答,不过我试过,我的 name 字段是 varbinary 类型,会令ucase失效,这是确定的……
    我想请教,如果我想达到以下的目的,怎样做更好呢?
    一、可以按 name 排序,即以 a -> z、啊 -> 做 的顺序排序,如果用 varchar 类型是不行的
    二、可以在模糊查找时不会找到不相关的内容, varchar 类型是会找到不相关内容的
    三、不区分大小写,在 varbinary 类型时就不能转换,最主要的是:写入内容时需要区分大小写