2017-01-20 46 views
0

我想填充在一個表中的列(列2)與特定的字符串在同一個表的另一列(列1)空調裝滿條件字符串列,有一個像這樣的結果:從另一列

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

因此,基本上所有在第一個「_」之後和之前出現的任何內容,以及(但不是那麼重要)用「 - 」替換「 - 」並用字母大寫第一個字母。

我知道這是一個很高的訂單,所以謝謝!

+0

爲什麼不在你的處理應用程序中執行它?在另一個查詢中使用子字符串? –

+0

是的,我沒有看到在MySQL做的重點。使用php,perl,python ...來代替。 –

+0

'Mysql'或'Sql server'?兩者都是非常不同的數據庫引擎 –

回答

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 
+0

是的!工作!現在我需要做的就是用查詢結果替換列,非常感謝! –