在开发过程中,有时候需要查询出以某个字符串开头的所有数据。下面来给大家介绍介绍:
知识点:
以某个字符串开头或不以某个字符串开头
方式1用like
这里查询以1101开头

这里查询不以1101开头

方式2用left
这里查询以1101开头

4为字符串长度(‘1101‘的长度)
这里查询不以1101开头

这里肯定有人问了:要是查询的是前台传来的参数,不知道长度,怎么办?
mysql中有计算字符串长度的方法
方法1: length(str)

方法2:CHAR_LENGTH(str)

改进后:

注:这俩虽然都能查询出字符串长度,但对中文查询的结果是不一样的。SELECT LENGTH('我说你');方法是一个中文对3个;SELECT CHAR_LENGTH('我说你');方法是一个中文对1个。


如果查询的为用逗号分割的字符串列表
如图这种数据

可以使用
FIND_IN_SET方法。
语法:FIND_IN_SET(needle, haystack);
needle:需要查找的字符串
haystack:以逗号分割的字符串数据

改进

版权声明:本文为qq_52524736原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。