用另一列的条件字符串填充列

时间:2017-01-20 14:39:07

标签: mysql

我想在一个表上填充一个列(Column2),该表具有从同一个表中另一列(Column1)条件限制的特定字符串,以得到如下结果:

Column1                      | Column2
-----------------------------------------
potato.food                  | Potato
green_beans.food             | Beans
hard_boiled-egg.food         | Boiled Egg
chicken-nugget_sandwich.food | Sandwich

所以基本上在第一个“_”之后和“。”之前发生的任何事情,以及(但不是那么重要)将“ - ”替换为“”并将单词中的第一个字母大写。

我知道这是一项很高的要求,谢谢!

1 个答案:

答案 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