sql语句中能否直接把截取的字符串当作where条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sql语句中能否直接把截取的字符串当作where条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1507字,纯文字阅读大概需要3分钟。
内容图文
MySQL 例如这样的select `id` from `table` where left(`flag`,1)=1;
我是有一串名为flag的标识用于表示该商品的各种属性, 10位数Int, 例如1100000000。
然后比如第一个数字1表示该商品价格区间在100-200元。
然后我想从表中搜出这个flag中取出第一个数字为1的商品
这个可以实现么, 仅仅用mysql
回复讨论(解决方案)
select `id` from `table` where left(`flag`,1)='1'
你的sql不就是吗??
晕。。。我感觉像是这样写的, 我试了几次没成功
是我where条件写错了
另外我想问下, 这样的sql语句性能怎么样呢
select `id` from `table` where left(`flag`,1)='1'
我想问下, 这样的sql语句性能怎么样呢
性能应该不怎么样 用到函数了
性能就不怎样了,因为不能使用索引写作这样才可以使用索引(如果有的话)select `id` from `table` where `flag` like '1%'
你这是要做商品筛选吧 用你这个方法你有没有想过以后要是增加属性 你以前的数据怎么办
性能就不怎样了,因为不能使用索引写作这样才可以使用索引(如果有的话)select `id` from `table` where `flag` like '1%'
是给flag字段加索引么, like的效率比left还高啊?
你这是要做商品筛选吧 用你这个方法你有没有想过以后要是增加属性 你以前的数据怎么办
我是在想比如商品有10个属性吧, 我flag字段中每个属性对应一个数字, 我现在只用到了前两个, 后边的我自动补0, 以后用到了再赋值。 您有什么更好的做分类的方法么
建一个属性表 aid 属性
一个商品表 gid
一个对应表 aid gid 对应边里aid 和gid 都可以索引 扩展属性的时候只要编辑属性表就可以了
只要 like 的匹配串左端不是变数,那么就可以使用到索引对于 1,2,11 所以后是 1,11,2like '1%' 总是会快速取出 1,11 的,因为他们聚集在一起
内容总结
以上是互联网集市为您收集整理的sql语句中能否直接把截取的字符串当作where条件全部内容,希望文章能够帮你解决sql语句中能否直接把截取的字符串当作where条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。