MySQL子串查找字符并向左返回

MySQL 包含许多内置的字符串操作函数,这些函数类似于 PHP 等 Web 脚本语言提供的函数。您可以在 MySQL 查询的“SELECT”和“WHERE”子句中使用这些函数。您可以在字符串中找到一个字符,并通过组合两个不同字符串函数的输出,返回该字符左侧的所有内容。

检查数据

确定如何为计划作为MySQL查询基础的字段格式化数据库中的数据。使用PHPMyAdmin之类的工具,浏览数据库内容以验证数据字段的格式。例如,包含一系列数字后跟一个字母和另一个系列数字的字段的格式为“ 009378M38293”。

剩下

MySQL“ LEFT”函数从字符串的开头返回指定数量的字符。例如:

剩下(物品, 10)

返回“ item”字段中字符串的前10个字符。

定位

要提取字符串中出现字母的位置左侧的所有字符,请使用 MySQL 的“LOCATE”函数确定字母出现的位置。例如,如果字段“ item”为“ 009378M38293”,则:

定位(“M”, 物品)

返回七,这是字母“ M”的位置。

组合 LEFT 和 LOCATE

要返回字母左侧的所有字符,例如“M”,您可以组合“LOCATE”和“LEFT”函数的结果。因为您不想在结果集中包含字母,所以请从“ LOCATE”函数的结果中减去一个。使用该值作为要通过“ LEFT”功能返回的字符数。例如,如果“item”字段包含“009378M38293”,则:

剩下(物品,定位(“M”, 物品)-1) 与 LEFT(物品, 6) 返回“009378”。

添加 WHERE 子句

当您使用这些函数构建 MySQL 查询时,您可能只想包含包含字母“M”的字段的结果,以便您的结果集不包含空行。为此,请在带有“ WHERE”子句的查询中第二次使用“ LOCATE”函数,以仅当您要搜索的字母存在时才提供结果。那就是当“LOCATE”函数返回一个大于零的数字时。

结果

将所有内容组合到一个MySQL语句中。例如,对于包含字母“ M”的每个“项目”字段,以下语句返回结果集,该结果集由字母“ M”左侧的“ items”字段中的字符组成

选择左(物品,LOCATE(“ M”, 物品)-1) 作为 剩余项目项目 位置(“ M”, 物品)>0

最近的帖子

$config[zx-auto] not found$config[zx-overlay] not found