關於修改DB2資料庫中欄位型別

2021-08-15 06:39:58 字數 628 閱讀 3874

之前用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 ...