zoukankan      html  css  js  c++  java
  • mysql find_in_set函数详解

    Mysql函数FIND_IN_SET()的使用方法

    有了FIND_IN_SET这个函数。我们可以设计一个如:一只手机即是智能机,又是Andriod系统的。

    比如:有个产品表里有一个type字段,他存储的是产品(手机)类型,有 1、智能机,2、Andriod系统,3、小米系统,4、1000元以下

    现在有条手机的记录即是1000元以下的,又是智能机,还是Andriod的系统。

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

    那们我们如何用sql查找所有type中有4的1000元以下的手机呢,

    这就要我们的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');

    +----------------------------+

    FIND_IN_SET('b','a,b,c,d') |

    +----------------------------+

    |                          2 |

    +----------------------------+

    1 row in set (0.00 sec)

    用起来很简单

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

    以下为实际应用当中的SQL语句:

    select * from mobile where FIND_IN_SET('4',type);

    这个就可以找出所有1000元以下手机的记录!

  • 相关阅读:
    深度学习的优化算法
    基于双向的CNN的细粒度物体识别论文翻译
    LSTM公式推导
    结巴分词python脚本
    eval() python 中的
    C++编译原理
    extern,以及在linux头文件中的应用
    iostream源码
    LINUX命令
    apt-get
  • 原文地址:https://www.cnblogs.com/lijiageng/p/6409616.html
Copyright © 2011-2022 走看看