mysql - 如何使用正则表达式在 SQL 中根据其他列添加新列
问题描述
使用此查询:
SELECT value,
type
FROM "my_data"
我得到一张桌子:
value type
17 harm_2
10 harm
17 harm
11 sharm_9
76 coins
我想添加新列 is_harm,其值为harm/not_harm,具体取决于列类型,如果该列中有单词harm,则它必须是“harm”,如果不是“not_harm”。所以这个表应该是这样的:
value type is_harm
17 harm_2 harm
10 harm harm
17 harm harm
11 sharm_9 not_harm
76 coins not_harm
如何用正则表达式做到这一点?如您所见,有像 sharm_9 这样的值
解决方案
如果您想要所有带有伤害的起始词,您可以使用 LEFT
函数。请记住,以下查询不适用于2_harm
.
select `value`,
`type`,
IF(LEFT(`type`,4)='harm','harm','not_harm' ) as is_harm
from test;
推荐阅读
- python - Python 随机数组排序
- ruby - 为什么 jekyll 站点生成器中不显示文本?
- excel - 如何创建 VBA 用户界面以创建基于不同 KPI 的图表
- python-3.x - 无法安装 pycrypto
- android - FirebaseUI,RecyclerView,创建未知子的引用
- html - 当我使用 #element:target #otherelement 时它不起作用
- powershell - Powershell 不允许我将 disable-pnpdevice 与蓝牙设备一起使用
- c++ - Winsock服务器如何重新监听同一个端口
- javascript - 抓住点击并存储它直到目标脚本加载到页面 JS
- rust - 如何将对整数 (&usize) 的引用转换为整数 (usize)?