2013-02-26 49 views
10

我寫一個應用程序,它會做一些格式爲CSV文件並上傳該表到MySQL程序應該轉換(十六進制)列後轉換爲十進制一個轉換HEX列DEC在MySQL

表格的外觀像這樣:

col1 | col2 | hexcol | deccol

所以我需要hexcol和HEX2DEC轉換,並把它變成deccol

我想簡單的SELECT UNHEX( 'hexcol');但那倒工作,它說這是科拉姆不在字段列表...

任何幫助,將不勝感激......

+0

SELECT UNHEX(hexcol)FROM表;沒有引號,因爲它將值視爲字符串,而不是列名 – 2013-02-26 09:49:47

+0

我不知道爲什麼,但是當我添加FROM表時...它的工作原理...我現在如何更新deccol與UNHEX(hexcol)...我試過更新表設置deccol = UNHEX(hexcol),但它不影響任何行... ??? – user2110604 2013-02-26 10:37:39

+1

什麼樣的數據類型是你的deccol列? – 2013-02-26 10:45:58

回答

11

嘗試這種情況:

SELECT CONV(hexcol, 16, 10); 
+0

當我嘗試SELECT CONV(hexcol,16,10);我得到#1054 - '字段列表'中的未知列'hexcol' – user2110604 2013-02-26 10:22:13

+0

只有這一個(SELECT CONV(''hexcol'',16,10))可以工作,但它需要hexcol作爲字符串 – user2110604 2013-02-26 10:23:40

+0

這一個工作...我不知道爲什麼Mysql在使用列時需要一些空間...... !!! – user2110604 2013-02-26 12:16:27