日期:2014-05-17  浏览次数:20632 次

sql语句中能否直接把截取的字符串当作where条件
例如这样的
select `id` from `table`  where  left(`flag`,1)=1;


我是有一串名为flag的标识用于表示该商品的各种属性, 10位数Int, 例如1100000000。
然后比如第一个数字1表示该商品价格区间在100-200元。
然后我想从表中搜出这个flag中取出第一个数字为1的商品
这个可以实现么, 仅仅用mysql
MySQL

------解决方案--------------------
select `id` from `table`  where  left(`flag`,1)='1'
------解决方案--------------------
你的sql不就是吗??
------解决方案--------------------
性能应该不怎么样 用到函数了
------解决方案--------------------
只要 like 的匹配串左端不是变数,那么就可以使用到索引
对于 1,2,11 所以后是 1,11,2
like '1%' 总是会快速取出 1,11 的,因为他们聚集在一起