之前用db2建立表示其中有乙個金額欄位用的varchar型別,導致在生產時使用者做交易將該字段儲存到資料庫中時出現千分符(1,000)這種格式,然後查詢時就會報錯。
修復方案:
修改該欄位型別為decimal型別保留小數點2位。(表名tablename 舊列 limit 新列 limit1)
第一步:在這個表中建立乙個新的列
alter table tablename add column limit1 decimal(16,2)
第二步:將現有資料插入新列
update tablename set limit1=cast(limit as decimal(16,2))
第三步:刪除不需要的列
alter table tablename drop column limit;
第四步:將新增的列重新命名
alter table tablename rename column limit1 to limit;
ps:生產中已有的資料如果有千分符的話在第二步時用cast不能用該sql直接修改,會報錯。試了幾種方法都不行,只能手動修改資料。出現千分符這種問題在ie瀏覽器中出現,在火狐中就不會出現。哪位大神有關於瀏覽器相容性的文章可以留下連線。。。。
修改DB2資料庫字段型別時不相容
老鐵執行sql不好使吧?不要慌 往下看 db2大多數情況下不能直接修改資料型別,特別已經存在資料的情況下,增加一列 alter table fs payment main add column fd description1 clob 100000 將老資料賦值到新列 update fs payme...
DB2修改表字段型別
db2資料庫修改表字段型別比較麻煩,搜尋了幾個方法也不好用,因此選擇了乙個最笨的方法,不過方法挺好使。就是把原來表結構和表資料匯出,然後刪除原表,重新建立新錶,匯入資料。1.連線資料庫 db2 connect to 庫名 user 表名 using 密碼 2.匯出表定義 db2look d 庫名 i...
DB2如何修改欄位的型別
話不多說,直接上乾貨 如 我們的表是employee table,其中有個字段為create date 原本是varchar型別 現在我們想把它轉換成date型別,直接按下面的步驟進行操作即可!基本語法 alter table alter column set data type examples ...