sql - 提取 = 和 之间的字符串,
问题描述
给定以下字符串
DEA=R,SL=R,CLIA=O,JCAHO=O
我必须提取和之间的=
字符串,
我需要R,R,O,O
请建议我查询。
解决方案
使用正则表达式来做到这一点。
假设您的字符串来自col1
表上的列t1
...
select regexp_replace(col1
, '([A-Z]+)=([A-Z],?)'
, '\2' ) as extr_str
from t1;
此解决方案与发布字符串的格式紧密相关:一系列字母后跟等号,后跟单个字母(可选地后跟逗号)。您需要调整搜索模式以反映真实数据的变化。
推荐阅读
- pyspark - 从 pyspark 的下一列中删除空值和移位值
- ffmpeg - ffmpeg将2个视频之间的差异保存到文件
- python - 如何使用子进程拦截“pipenv install”类似微调器的输出消息?
- node.js - Next.js 植入——它是否完全取代了普通的 React?
- java - 当我点击我的按钮时,我的通知没有出现
- sql-server - 为什么断点没有在 ssis 包任务脚本中命中?
- r - 为什么 R 中的 mean() 函数没有给我正确的结果?
- java - Android视图寻呼机总是加载第一个缓存项目
- ios - 禁用 SFSafariViewController 的下拉解散
- sql - 有没有办法从 SQL 中的 map(varchar, varchar) 列中提取数据?