• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 人生哲理 > 正文

    【Mysql字符串字段判断是否包含某个字符串的2种方法】 sql字段包含字符串

    时间:2020-05-26来源:山茶花美文网 本文已影响 山茶花美文网手机站

    假设有个表:

    代码如下:

    CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);

    初始化表,并添加些记录。

    代码如下:

    truncate table users

    INSERT INTO users(user_name, emails) VALUES("小张","a@,b@,c@");

    INSERT INTO users(user_name, emails) VALUES("小王","aa@,bb@,cc@");

    Mysql 中有些字段是字符串类型的,如何查找其中包含某些字符的记录呢?

    方法一:

    代码如下:

    SELECT * FROM users WHERE emails like "%b@%";

    这样bb@的用户也查出来了,不符合预期。

    方法二:

    利用mysql 字符串函数 find_in_set();

    代码如下:

    SELECT * FROM users WHERE find_in_set("aa@", emails);

    这样是可以的,怎么理解呢?

    mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。

    e.g.

    代码如下:

    mysql > SELECT find_in_set()("b","a,a,b,c,d") as test;

    -> 3

    • 【Mysql字符串字段判断是否包含某个字符串的2种方法】 sql字段包含字符串 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全