Change column data type
Ushbu qo'llanma sizga ALTER TABLE iborasi yordamida ustunning ma'lumotlar turini qanday o'zgartirishni bosqichma-bosqich ko'rsatib beradi.
Ustunning ma'lumotlar turini o'zgartirish uchun siz ALTER TABLE iborasidan quyidagi tarzda foydalanasiz:
ALTER TABLE table_name
ALTER COLUMN column_name [SET DATA] TYPE new_data_type;Keling, bayonotni batafsil ko'rib chiqaylik:
Birinchidan,
ALTER TABLEkalit so'zlaridan keyin ustunni o'zgartirmoqchi bo'lgan jadval nomini belgilang.Ikkinchidan,
ALTER COLUMNbandidan keyin ma'lumotlar turini o'zgartirmoqchi bo'lgan ustun nomini belgilang.Uchinchidan,
TYPEkalit so'zidan keyin ustun uchun yangi ma'lumotlar turini kiriting.SET DATA TYPEvaTYPEekvivalentdir.
Bitta bayonotda bir nechta ustunlarning ma'lumotlar turlarini o'zgartirish uchun siz bir nechta ALTER COLUMN bandlaridan foydalanasiz:
ALTER TABLE table_name
ALTER COLUMN column_name1 [SET DATA] TYPE new_data_type,
ALTER COLUMN column_name2 [SET DATA] TYPE new_data_type,
...;Ushbu sintaksisda siz har bir ALTER COLUMN bandidan keyin vergul (,) qo'shasiz.
PostgreSQL sizga quyidagi tarzda USING bandini qo'shish orqali ma'lumotlar turini o'zgartirganda ustun qiymatlarini yangilariga aylantirish imkonini beradi:
ALTER TABLE table_name
ALTER COLUMN column_name TYPE new_data_type USING expression;USING bandi eski qiymatlarni yangilariga aylantirish imkonini beruvchi ifodani belgilaydi.
Agar siz USING bandini o'tkazib yuborsangiz, PostgreSQL qiymatlarni bilvosita yangilariga o'tkazadi. Translatsiya muvaffaqiyatsiz bo'lsa, PostgreSQL xatolik chiqaradi va ma'lumotlarni konvertatsiya qilish uchun USING bandini taqdim etishingizni tavsiya qiladi.
USING kalit so'zidan keyingi ibora column_name::new_data_type kabi oddiy bo'lishi mumkin, masalan, price::numeric yoki maxsus funksiya kabi murakkab.
PostgreSQL ustun turini o'zgartirishga misollar
Keling, assets deb nomlangan yangi jadval yaratamiz va namoyish qilish uchun jadvalga bir nechta qatorlarni kiritamiz.

name ustunining ma'lumotlar turini VARCHAR ga o'zgartirish uchun siz quyidagi bayonotdan foydalanasiz:
Quyidagi bayonot description va location ustunlarining ma'lumotlar turlarini TEXT dan VARCHAR ga o'zgartiradi:
asset_no ustunining ma'lumotlar turini butun songa o'zgartirish uchun siz quyidagi bayonotdan foydalanasiz:
PostgreSQL xato va juda foydali maslahat berdi:
Quyidagi bayonot yuqoridagi bayonotga USING bandini qo'shadi:
Kutilganidek ishladi.
Ushbu qo'llanmada siz ustun turini o'zgartirish uchun ALTER TABLE ALTER COLUMN bayonotidan qanday foydalanishni o'rgandingiz.
Last updated
Was this helpful?