- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql常用字符串操作函数大全,以及实例
今天在论坛中看到一个关于mysql的问题,问题如下
good_id ? ? cat_id12654???? ? ? 665,56912655???????? 601,4722
goods_id是商品idcat_id是分类id当我,怎么根据这种分类ID查数据(一个商品有多个分类,而且用逗号隔开了)我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。
?
如果用like做的话,肯定会有问题的,我的开始的想法是,把cat_id里面的字符串换成数组,这样可以利用mysql里面的in操作,这样就不会出现查找722,而4722类别下的产品都跑出来了。我从网上找了半天,这方面的字符串操作函数,没找到,不过我发现了find_in_set这个函数虽然不能,将字符串转换成数组,但是也不会出现上面的情况。我发现自己有好多函数不知道,所以我从手册中,以及网上收集了半天,做了一些例子。
一,测试准备
查看复制打印?
测试表??
CREATE?TABLE?`string_test`?(??
?`id`?int(11)?NOT?NULL?auto_increment?COMMENT?用户ID,??
?`name`?varchar(50)?NOT?NULL?default??COMMENT?名称,??
?`job`?varchar(23)?NOT?NULL?COMMENT?工作,??
?`sex`?tinyint(1)?NOT?NULL?default?1?COMMENT?性别,??
?`hobby`?varchar(100)?character?set?utf8?collate?utf8_unicode_ci?default?NULL?COMMENT?爱好,??
?PRIMARY?KEY??(`id`)??
)?ENGINE=MyISAM??DEFAULT?CHARSET=utf8?AUTO_INCREMENT=1?;??
??
测试数据??
INSERT?INTO?`string_test`?(`id`,?`name`,?`job`,?`sex`,?`hobby`)?VALUES??
(1,?tank,?农民工,?1,?军棋,游戏,fishing),??
(2,?zhang,?DUCK,?0,?fly,make?firend),??
(3,?ying,?no?job,?1,?flying,driving,testing),??
(4,?tankzhang,?love?your?love,?1,?i?love?you);??
测试表
CREATE TABLE `string_test` (
`id` int(11) NOT NULL auto_increment COMMENT 用户ID,
`name` varchar(50) NOT NULL default COMMENT 名称,
`job` varchar(23) NOT NULL COMMENT 工作,
`sex` tinyint(1) NOT NULL default 1 COMMENT 性别,
`hobby` varchar(100) character set utf8 collate utf8_unicode_ci default NULL COMMENT 爱好,
PRIMARY KEY? (`id`)
) ENGINE=MyISAM? DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
测试数据
INSERT INTO `string_test` (`id`, `name`, `job`, `sex`, `hobby`) VALUES
(1, tank, 农民工, 1, 军棋,游戏,fishing),
(2, zhang, DUCK, 0, fly,make firend),
(3, ying, no job, 1, flying,driving,testing),
(4, tankzhang, love your love, 1, i love you);
id name job sex hobby 1 tank 农民工 1 军棋,游戏,fishing 2 zhang DUCK 0 fly,make firend 3 ying no job 1 flying,driving,testing 4 tankzhang love your love 1 i love you
文档评论(0)