MySQL:从查询中提取正则表达式值

标签 mysql

我需要从给定的正则表达式中获取值。

例如:

> :"postalCode";s:4:"3150";

有什么方法可以从这部分列值中提取 3150 吗?列值存储序列化对象,因此 postalCode 变量可以为 null 类型,这样我应该检查 ;s:POSITIVE_INT:"postalCodeValue

后面是否有正整数

最佳答案

使用SUBSTRING_INDEX:

SELECT
    SUBSTRING(SUBSTRING_INDEX(col, '"', -2), 1,
              INSTR(SUBSTRING_INDEX(col, '"', -2), '"') - 1) AS num
FROM yourTable;

此查询将提取字符串中最后一个带引号的数字。

Demo

关于MySQL:从查询中提取正则表达式值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979664/

相关文章:

mySQL 到 SQL 迁移

mysql - 有没有办法从这样的一张表中获取mysql结果?

mysql - 在MYSQL中导入海量数据集csv

mysql - 根据总分自动分配排名

mysql - 将 ResultSet 的结果存储在列表中

php - PHP中使用存储过程将数据插入sql数据库

php - 调试 LAMP/CakePHP 站点内存泄漏?

mysql - Spring数据JPA与MySQL服务器: case is ignored on Entity class by default

php - 用于存储连续变化值的数据库结构

php - mysql中的条件插入