PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में कॉलम डेटाटाइप को टेक्स्ट से इंटीजर में बदलें

create table test(id varchar );
insert into test values('1');
insert into test values('11');
insert into test values('12');

select * from test

 --Result--
 id
 character varying
--------------------------
 1
 11
 12

आप उपरोक्त तालिका से देख सकते हैं कि मैंने डेटा प्रकार का उपयोग किया है - character varying id . के लिए कॉलम। लेकिन यह एक गलती थी क्योंकि मैं हमेशा integers दे रहा हूं id . के रूप में . तो varchar . का उपयोग कर रहे हैं यहाँ एक बुरा अभ्यास है। तो चलिए कॉलम प्रकार को integers . में बदलने का प्रयास करते हैं ।

ALTER TABLE test ALTER COLUMN id TYPE integer;

लेकिन यह लौट आता है:

इसका मतलब है कि हम केवल डेटा प्रकार नहीं बदल सकते क्योंकि डेटा पहले से ही कॉलम में है। चूंकि डेटा प्रकार का होता है character varying पोस्टग्रेज इसे पूर्णांक के रूप में उम्मीद नहीं कर सकते हैं, हालांकि हमने केवल पूर्णांक दर्ज किए हैं। तो अब, जैसा कि पोस्टग्रेज़ ने सुझाव दिया था कि हम USING . का उपयोग कर सकते हैं हमारे डेटा को पूर्णांकों में डालने के लिए व्यंजक।

ALTER TABLE test ALTER COLUMN id  TYPE integer USING (id::integer);

यह काम करता है।

तो आपको

. का उपयोग करना चाहिए
alter table a.attend alter column terminal TYPE INTEGER  USING (terminal::integer) ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Google App Engine dev_appserver.py में PostgreSQL एडॉप्टर psycopg2 क्यों विफल हो जाता है?

  2. AWS RDS Postgresql Pgadmin - सर्वर नहीं सुनता

  3. मौजूदा ENUM प्रकार में एक नया मान जोड़ना

  4. टाइपओआरएम पोस्टग्रेएसक्यूएल का चयन करें जहां JSON फ़ील्ड कुछ मान के बराबर है

  5. तालिका मूल्यवान पैरामीटर Postgresql में समतुल्य है