
Untitled
By: a guest on
Apr 28th, 2012 | syntax:
None | size: 1.35 KB | hits: 11 | expires: Never
Data changes when converting a varchar column to smallint
CREATE TABLE ad_position_ad (
p_id bigint ,
p_name character varying(20) ,
devid integer ,
ad_type character varying(20) ,
platform character varying(20) ,
category_id integer ,
config character varying(20) ,
is_check character varying(20) ,
status character varying(20) ,
showing_total bigint ,
click_total bigint ,
user_total bigint ,
income_total bigint ,
online_time integer ,
create_time integer ,
modify_time integer);
mydb=> select count(*) from ad_position_ad;
count
-------
275
(1 row)
mydb=> select distinct config from ad_position_ad;
config
--------
2
0
1
(3 rows)
mydb=>
alter table ad_position_ad
alter column config type smallint using platform::smallint;
ALTER TABLE
mydb=> select distinct config from ad_position_ad;
config
--------
3
(1 row)
mydb=>
alter table ad_position_ad
alter column config type smallint using cast(config as smallint);
ALTER TABLE
alter table ad_position_ad
alter column config type smallint using platform::smallint;
alter table ad_position_ad
alter column config type smallint using config::smallint;