SQL语句问题
select*frommenu_mstwhereposition('|1|'inmenu_kbn)>0orderbymenu_group,menu_type,menu_o...
select * from menu_mst where position('|1|'in menu_kbn) > 0 order by menu_group, menu_type, menu_ordno;
跪求大神给解析一下这句代码!
上面的position('|1|'in menu_kbn) > 0 不明白什么意思 展开
跪求大神给解析一下这句代码!
上面的position('|1|'in menu_kbn) > 0 不明白什么意思 展开
2个回答
展开全部
在mysql 里是没有像sqlserver的charindex函数的, 用LOCATE和POSITION函数可以实现功能!
LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0
position('|1|'in menu_kbn) > 0 就是判断 menu_kbn 是否包含‘|1|’
LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0
position('|1|'in menu_kbn) > 0 就是判断 menu_kbn 是否包含‘|1|’
更多追问追答
追问
如果没有查到的话就是返回null了是吧
追答
不包含返回0
所以position('|1|'in menu_kbn)>0这个条件不成立,就会没有记录反回
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询