一、从mysql截取字符串中的数字
在实际开发中,我们有时需要从mysql的字段中提取数字。为了实现这个目标,我们可以使用MySQL内置函数SUBSTRING_INDEX和REGEXP_REPLACE。
SELECT SUBSTRING_INDEX(REGEXP_REPLACE(`column_name`, '[^0-9]*', ''), 1) FROM `table_name`;
以上代码将从table_name
表中的column_name
字段中提取数字,并将其作为结果返回。
二、从mysql截取特定字符前面的字段
在mysql中,我们有时需要从字段中提取某个指定字符(如“:”、“-”等)之前的所有内容。为此,可以使用MySQL内置函数SUBSTRING_INDEX和TRIM。
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_INDEX和REPLACE结合起来可以很方便地实现这个目标。
SELECT SUBSTRING_INDEX(REPLACE(`column_name`, '/', '#'), '#', 1) FROM `table_name`;
以上代码将从table_name
表中的column_name
字段中找到第一个斜杠“/”,将其替换为“#”,然后提取#号之前的所有内容。
五、从mysql截取中文字符
如果我们需要从mysql字段中提取中文字符,可以通过将字段转换为二进制形式,再使用MySQL内置函数SUBSTRING和CHAR_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内置函数SUBSTRING和LENGTH。
SELECT SUBSTRING(`column_name`, LENGTH(`column_name`), 1) FROM `table_name`;
如上代码将提取table_name
表中column_name
字段中的最后一个字符。
八、从mysql根据字符截取字符串
在mysql查询中,我们有时需要根据某个字符截取一个字符串。可以使用MySQL内置函数LOCATE和SUBSTRING来实现这一目标。
SELECT SUBSTRING(`column_name`, LOCATE('a', `column_name`), LENGTH(`column_name`)) FROM `table_name`;
以上代码将提取table_name
表中column_name
字段中第一个字母“a”之后的所有内容。
九、从mysql根据指定字符截取
如果我们需要根据指定字符截取mysql字段中的字符串,可以使用MySQL内置函数SUBSTRING和LOCATE。
SELECT SUBSTRING(`column_name`, LOCATE('/', `column_name`) + 1) FROM `table_name`;
如上代码将在table_name
表中的column_name
字段中查找第一个斜杠“/”,然后提取其后面的所有内容。
十、从mysql截取两个字符中间的内容
在mysql查询中,有时候我们需要根据两个字符间的内容截取mysql字段。可以使用MySQL内置函数LOCATE和SUBSTRING实现这一目标。
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
字段中查找两个斜杠“/”之间的内容。