我想在一个表上填充一个列(Column2),该表具有从同一个表中另一列(Column1)条件限制的特定字符串,以得到如下结果:
Column1 | Column2
-----------------------------------------
potato.food | Potato
green_beans.food | Beans
hard_boiled-egg.food | Boiled Egg
chicken-nugget_sandwich.food | Sandwich
所以基本上在第一个“_”之后和“。”之前发生的任何事情,以及(但不是那么重要)将“ - ”替换为“”并将单词中的第一个字母大写。
我知道这是一项很高的要求,谢谢!
答案 0 :(得分:0)
如果您使用SQL SERVER
DECLARE @str VARCHAR(100) ='potato.food'
SELECT Substring(@str, Charindex('_', @str) + 1, Charindex('.', @str) - Charindex('_', @str) - 1)
这可以很容易地转换为Mysql
像
这样的东西SELECT Substring(Column1, Instr(Column1, '_') + 1, Instr(Column1, '.') - Instr(Column1, '_') - 1)
FROM Yourtable