mysql - 在 MySQL 中搜索字符串并返回其值
问题描述
我有一个文本列,其中数据是从机器自动填充的。下面是在数据库中填充的数据格式。我在此表中的所有记录的数据格式几乎相同。
==========================
=== S U P E R S O N Y ===
========================
START AT 12:16:29A
ON 02-18-19
MACHINE COUNT 1051
OPERATOR ______________
SERIAL # 0777218-15
V=inHg
- TIME T=F P=psig
------------------------
D 12:16:31A 104.6 0.0P
D 12:16:41A 104.1 0.0P
D 12:26:41A 167.2 28.7V
D 12:31:41A 108.1 28.5V
MACHINE VALUE IS:
1.5 mg/min
L 12:41:41A 95.1 28.4V
L 12:43:54A 97.2 1.9V
Z 12:45:23A 97.5 0.0P
========================
= CHECK COMPLETE =
========================
我需要在“MACHINE VALUE IS:”之后和“mg/min”字之前找到确切的值。在上述情况下,查询必须返回“1.5”。由于“MACHINE VALUE IS:”字后有一些空格,我写的查询失败了。
SELECT REPLACE(REPLACE(SUBSTRING(contents,
LOCATE('IS:', contents), 10),'IS:', ''),'mg','') as value from machine_content
解决方案
这将为您提供落后IS:<br>
的号码,在您的情况下,您必须更改,以打破界限cr lf
SET @sql := '========================== === S U P E R S O N Y === ======================== START AT 12:16:29A ON 02-18-19 MACHINE COUNT 1051 OPERATOR ______________ SERIAL # 0777218-15 V=inHg - TIME T=F P=psig ------------------------ D 12:16:31A 104.6 0.0P D 12:16:41A 104.1 0.0P D 12:26:41A 167.2 28.7V D 12:31:41A 108.1 28.5V MACHINE VALUE IS: 1.5 mg/min L 12:41:41A 95.1 28.4V L 12:43:54A 97.2 1.9V Z 12:45:23A 97.5 0.0P ======================== = CHECK COMPLETE = ======================== '
SELECT REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(@sql, 'IS:', -1), 'mg', 1),'\n','')
| REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(@sql, 'IS:', -1), 'mg', 1),'\n','') | | :------------------------------------------------ ------------------------------------- | | 1.5 |
db<>在这里摆弄
推荐阅读
- c++ - c ++ mmap与gzip文件“快速”读取耦合
- html - 我的 :hover 似乎与某些东西有冲突
- r - 散点图,按类别变量着色,分面超过 r 中的类别变量
- python - 在包安装期间指定平台
- f# - Task.ContinueWith 的 F# 异步等效项
- reactjs - Reactjs TypeError:无法读取未定义的属性“城市”
- jquery - 如何在不全局延迟的情况下将变量传递给 jQuery 中的另一个事件处理程序?
- sql-server - 将 SQL Server 迁移到新的 AWS Aurora DB
- vue.js - 如何让 Vue CLI 使用带有热重载的外部 HTML 文件?
- node.js - 无法在 node.js 中获取/