MySQL的FIND_IN_SET函数使用方法分享

2015-01-24信息快讯网

有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 …..11,12,13等等

很多时候我们在设计数据库时有这种情况,比如:

有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等

现在有篇文章他既是 头条,又是热点,还是图文,

type中以 1,3,4的格式存储.

那们我们如何用sql查找所有type中有4图文标准的文章呢,

这就要我们的find_in_set出马的时候到了.

先看mysql手册中find_in_set函数的语法:

FIND_IN_SET(str,strlist)

假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。一个字符串列表就是一个由一些被‘,'符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,')时将无法正常运行。

 
mysql> SELECT FIND_IN_SET('b','a,b,c,d'); 
-> 2 

用起来很简单

就以上面我说到的情况来举例:

以下为引用的内容:
 
select * from article where FIND_IN_SET('4',type) 
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Linux环境下搭建php开发环境的操作步骤
深入掌握include_once与require_once的区别
修改php.ini以达到屏蔽错误信息并记录日志
探讨:parse url解析URL,返回其组成部分
修改php.ini不生效问题解决方法(上传大于8M的文件)
深入Memcache的Session数据的多服务器共享详解
基于PHP输出缓存(output_buffering)的深入理解
探讨:使用XMLSerialize 序列化与反序列化
coreseek 搜索英文的问题详解
使用session判断用户登录用户权限(超简单)
深入PHP empty(),isset(),is_null()的实例测试详解
php set_time_limit()函数的使用详解
PHP中__get()和__set()的用法实例详解
基于session_unset与session_destroy的区别详解
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
php 计划任务 检测用户连接状态
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Notice: Trying to get property of non-object problem(PHP)解决办法
PHP中将字符串转化为整数(int) intval() printf() 性能测试
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
PHP中call_user_func_array()函数的用法演示
非常好用的两个PHP函数 serialize()和unserialize()
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
PHP警告Cannot use a scalar value as an array的解决方法
php读取mysql乱码,用set names XXX解决的原理分享
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
PHP setcookie设置Cookie用法(及设置无效的问题)
php中session_unset与session_destroy的区别分析
fleaphp crud操作之find函数的使用方法
fleaphp crud操作之findByField函数的使用方法
©2014-2024 dbsqp.com