0

0

MySQL中字符串函数的详解

零下一度

零下一度

发布时间:2017-07-17 11:01:44

|

1544人浏览过

|

来源于php中文网

原创

今天在论坛中看到一个关于mysql的问题,问题如下

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

RPAD(s1,len,s2) 返回s2从s1的右边填充直至len的长度,如果len

LTRIM(S) 删除左侧的空格  RTRIM(s) 删除右侧的空格  TRIM(s) 删除两侧的空格

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

下载

TRIM(s1 FROM s2) 删除s2两端出现的s1字符串

REPEAT(s,n) 返回n个s组成的字符串,n

SPACE(n) 返回n个空格字符串

REPLACE(s,s1,s2) 返回--由s2替换s中的所有s1字符串的结果

STRCPM(s1,s2) s1==s2 返回0   s1s2 返回1

SUBSTRING(s,n,len) 、MID(s,n,len)返回s从n开始的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由多个字符串组成,逗号隔开的列表

 

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.9万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 808人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号