mysql - 基于动态替换查询中的占位符计算值
问题描述
我有一个表,其中包含一列serviceMaxFormula
,其值类似于(L*W*H)/6000
当我运行查询时,我想用我知道的变量替换L
, 。W
H
到目前为止,我已经...
select
serviceID,
REPLACE(REPLACE(REPLACE(serviceMaxFormula,'H',30),'W',20),'L',10) as serviceMaxFormula
from carrier_services
这给了我的serviceMaxFormula
价值(10*20*30)/6000
我现在如何得到这个计算的值?即在这种情况下,我会寻找号码1
解决方案
SELECT MAX(CASE WHEN servicemaxformula LIKE '%L%' THEN 10 ELSE 1 END)
* MAX(CASE WHEN servicemaxformula LIKE '%W%' THEN 20 ELSE 1 END)
* MAX(CASE WHEN servicemaxformula LIKE '%H%' THEN 30 ELSE 1 END)
/ SUBSTRING_INDEX(servicemaxformula,'/',-1)+0 x
FROM carrier_services;
推荐阅读
- tensorflow - 在tensorflow上训练具有不同数据形状的LSTM模型时如何节省内存
- javascript - 如何使用 Wordpress REST api 从 Vuejs 向 Contact-Form-7 发送消息?
- php - 验证日期时间输入以进行调度
- firebase - Firebase 自定义事件参数限制
- styled-components - Styled-Components 如何在 SSR 中缩小 CSS?
- reactjs - 如何在 CDN 中使用语义 UI?
- pyspark - 在 PySpark 数据框中拆分和计算列值
- android - 如果在 Android Studio 上突出显示至少一个子视图,则突出显示可扩展列表视图的标题视图
- python - 如何从 Pandas 数据框中提取与日期对应的值?
- java - > 无法创建侦听器:格式化程序 {[com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask$Formatter@1326df32