您的位置:

mysql截取特定字符后的数据

一、从mysql截取字符串中的数字

在实际开发中,我们有时需要从mysql的字段中提取数字。为了实现这个目标,我们可以使用MySQL内置函数SUBSTRING_INDEXREGEXP_REPLACE

SELECT SUBSTRING_INDEX(REGEXP_REPLACE(`column_name`, '[^0-9]*', ''), 1) FROM `table_name`;

以上代码将从table_name表中的column_name字段中提取数字,并将其作为结果返回。

二、从mysql截取特定字符前面的字段

在mysql中,我们有时需要从字段中提取某个指定字符(如“:”、“-”等)之前的所有内容。为此,可以使用MySQL内置函数SUBSTRING_INDEXTRIM

SELECT TRIM(SUBSTRING_INDEX(`column_name`, ':', 1)) FROM `table_name`;

如上代码将提取table_name表中column_name字段中冒号“:”之前的所有内容。

三、从mysql截取到特定字符

如果我们需要从mysql字段中截取到指定字符出现位置的内容,可以使用MySQL内置函数SUBSTRING_INDEX

SELECT SUBSTRING_INDEX(`column_name`, ':', 1) FROM `table_name`;

如上代码将提取table_name表中column_name字段中冒号“:”之前的所有内容。

四、从mysql截取指定字符前面的内容

有时候,我们需要从mysql字段中提取指定字符前面的内容。MySQL内置函数SUBSTRING_INDEXREPLACE结合起来可以很方便地实现这个目标。

SELECT SUBSTRING_INDEX(REPLACE(`column_name`, '/', '#'), '#', 1) FROM `table_name`;

以上代码将从table_name表中的column_name字段中找到第一个斜杠“/”,将其替换为“#”,然后提取#号之前的所有内容。

五、从mysql截取中文字符

如果我们需要从mysql字段中提取中文字符,可以通过将字段转换为二进制形式,再使用MySQL内置函数SUBSTRINGCHAR_LENGTH

SELECT SUBSTRING(`column_name`, 1, CHAR_LENGTH(`column_name`)) FROM `table_name` WHERE LENGTH(`column_name`) = CHAR_LENGTH(`column_name`) * 3;

如上代码将提取table_name表中column_name字段中的中文字符。

六、从mysql截取字符串前几位

如果我们需要从mysql字段中截取前几位字符,可以使用MySQL内置函数LEFT

SELECT LEFT(`column_name`, 5) FROM `table_name`;

如上代码将提取table_name表中column_name字段中的前五个字符。

七、从mysql截取最后一个字符

如果我们需要从mysql字段中截取最后一个字符,可以使用MySQL内置函数SUBSTRINGLENGTH

SELECT SUBSTRING(`column_name`, LENGTH(`column_name`), 1) FROM `table_name`;

如上代码将提取table_name表中column_name字段中的最后一个字符。

八、从mysql根据字符截取字符串

在mysql查询中,我们有时需要根据某个字符截取一个字符串。可以使用MySQL内置函数LOCATESUBSTRING来实现这一目标。

SELECT SUBSTRING(`column_name`, LOCATE('a', `column_name`), LENGTH(`column_name`)) FROM `table_name`;

以上代码将提取table_name表中column_name字段中第一个字母“a”之后的所有内容。

九、从mysql根据指定字符截取

如果我们需要根据指定字符截取mysql字段中的字符串,可以使用MySQL内置函数SUBSTRINGLOCATE

SELECT SUBSTRING(`column_name`, LOCATE('/', `column_name`) + 1) FROM `table_name`;

如上代码将在table_name表中的column_name字段中查找第一个斜杠“/”,然后提取其后面的所有内容。

十、从mysql截取两个字符中间的内容

在mysql查询中,有时候我们需要根据两个字符间的内容截取mysql字段。可以使用MySQL内置函数LOCATESUBSTRING实现这一目标。

SELECT SUBSTRING(`column_name`, LOCATE('/', `column_name`) + 1, LOCATE('/', `column_name`, LOCATE('/', `column_name`) + 1) - LOCATE('/', `column_name`) - 1) FROM `table_name`;

如上代码将在table_name表中的column_name字段中查找两个斜杠“/”之间的内容。