我的数据库中有多行,其描述采用以下格式之一:
SC068 NGN 399ppc + 139ppm
SC068 NGN 139ppm
SC079 NGN 200ppc + 200ppm (After 60 Seconds)
SC060 NGN 200ppc
如何检索 ppc
和/或 ppm
之前的数字?
最佳答案
假设每个只出现一次,您可以这样做:
select (case when col like '%ppm%'
then substring_index(substring_index(col, 'ppm', 1), ' ', -1) + 0
end) as ppm_num,
(case when col like '%ppc%'
then substring_index(substring_index(col, 'ppc', 1), ' ', -1) + 0
end) as ppc_num
这些仅适用于字符串中的第一次出现。 + 0
将关键字之前的字符静默转换为数字。
关于MySQL 检索特定字符串之前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46288035/