Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7530357
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T04:53:22+00:00 2026-05-30T04:53:22+00:00

1) create table CREATE TABLE ad_position_ad ( p_id bigint , p_name character varying(20) ,

  • 0

1) create table

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);

After create the table, we insert some data in the table.

2) Data of the table

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)

3) convert a varchar column to smallint

mydb=>
alter table ad_position_ad
alter column config type smallint using platform::smallint;
ALTER TABLE

4) check the data again

mydb=> select distinct config from ad_position_ad;
 config 
--------
      3
(1 row)

Notice the value of column config have already changed. Does anybody know about that?
But the following command works fine, and the value does not change:

mydb=>
alter table ad_position_ad
alter column config type smallint using cast(config as smallint);
ALTER TABLE
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T04:53:24+00:00Added an answer on May 30, 2026 at 4:53 am

    Edit:

    After rewriting the question I finally think I found the real problem. I quote:

    alter table ad_position_ad
    alter column config type smallint using platform::smallint;
    

    You realize that you ALTER COLUMN config, but use the value of the column platform for it?

    Try:

    alter table ad_position_ad
    alter column config type smallint using config::smallint;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Create Table: CREATE TABLE `category` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255)
CREATE TABLE IF NOT EXISTS userdata( UID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, Username CHAR
create table person ( name varchar(15), attr1 varchar(15), attr2 varchar(1), attr3 char(1), attr4 int
create table ImagenesUsuario { idImagen int primary key not null IDENTITY } This doesn't
CREATE TABLE #Report( Cell int, CellValue double) Error here DECLARE @Report TABLE ( Cell
create table snippet( id int not null auto_increment, primary key(id), idlanguage int not null,
CREATE TABLE Posts { id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200), url VARCHAR(200) }
CREATE TABLE SupplierQuote ( supplierQuoteID int identity (3504,2) CONSTRAINT supquoteid_pk PRIMARY KEY, PONumber int
CREATE TABLE Customer ( customerID int identity (500,20) CONSTRAINT . . dateCreated datetime DEFAULT
CREATE TABLE Phone ( phoneID - PK . . . ); CREATE TABLE PhoneDetail

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.