首页 / MYSQL / MySQL中字符串函数的详解
MySQL中字符串函数的详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL中字符串函数的详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2509字,纯文字阅读大概需要4分钟。
内容图文
![MySQL中字符串函数的详解](/upload/InfoBanner/zyjiaocheng/538/2548f7d945324ca79f1c9f3e555b9cae.jpg)
good_id cat_id
12654 665,569
12655 601,4722
goods_id是商品id
cat_id是分类id
当我,怎么根据这种分类ID查数据(一个商品有多个分类,而且用逗号隔开了)
我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。
如果用like做的话,肯定会有问题的,我的开始的想法是,把cat_id里面的字符串换成数组,这样可以利用mysql里面的in操作,这样就不会出现查找722,而4722类别下的产品都跑出来了。我从网上找了半天,这方面的字符串操作函数,没找到,不过我发现了find_in_set这个函数虽然不能,将字符串转换成数组,但是也不会出现上面的情况。我发现自己有好多函数不知道,所以我从手册中,以及网上收集了半天,做了一些例子。
CHAR_LENGTH(str) 返回str的字符数
LENGTH(str) 返回str的字节长度
CONCAT(str1,str2....) 返回参数str1,str2....的拼接,有一个null值则返回null
CONCAT_WS(x,str1,str2...) ---concat with separator 第一个参数x代表分隔符,后面的参数为字符串
如果x为NULL则返回NULL,如果字符串有NULL会被忽略
INSERT(s1,x,len,s2) 字符串替换 s1 目标字符串 x为s1的开始位置(下标从1开始) len为x之后的长度 s2为需要替换的字符串
如果x超过s1的长度下标,则返回s1,如果len大于x之后剩余字符串长度,则全部替换
LOWER(str)、LCASE(str) 字符串转为小写
UPPER(str)、UCASE(str) 字符串转为大写
LEFT(str,n) 返回字符串str最左边的n个字符
RIGHT(str,n) 返回字符串str最右边的n个字符
LPAD(s1,len,s2) 返回s2从s1的左边填充直到总长度为len,如果len<s1的长度,则s2不填充,返回s1从左开始的len长度字符
RPAD(s1,len,s2) 返回s2从s1的右边填充直至len的长度,如果len<s1的长度,则s2不填充,返回s1从左开始的len长度字符
LTRIM(S) 删除左侧的空格 RTRIM(s) 删除右侧的空格 TRIM(s) 删除两侧的空格
TRIM(s1 FROM s2) 删除s2两端出现的s1字符串
REPEAT(s,n) 返回n个s组成的字符串,n<=0,返回空;s或者n为NULL,返回NULL
SPACE(n) 返回n个空格字符串
REPLACE(s,s1,s2) 返回--由s2替换s中的所有s1字符串的结果
STRCPM(s1,s2) s1==s2 返回0 s1<s2 返回-1 s1>s2 返回1
SUBSTRING(s,n,len) 、MID(s,n,len)返回s从n开始的len长度的字符串 ,若n<0,则从s的最后倒数n个开始截取,n=0的话返回空字符串;len可以省略-截取n之后的所有字符
LOCATE(str1,str2)、POSITION(str1 IN str2)、INSTR(str2,str1) 返回str1在str2中出现的开始位置
REVERSE(s) 返回s的字符串的反转
ELT(n,str1,str2,str3...) 返回str1,str2.. 中的第n个字符串 ,n超出返回返回null
FIELD(s,str1,str2,str3....) 返回s在str1,str2.....中的第一次出现的位置,没有返回0
FIND_IN_SET(s,str1) 返回s在str1中的出现的位置,其中str1由多个字符串组成,逗号隔开的列表
以上就是MySQL中字符串函数的详解的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的MySQL中字符串函数的详解全部内容,希望文章能够帮你解决MySQL中字符串函数的详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。