เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แปลงชนิดข้อมูลด้วยฟังก์ชัน

หากไม่ต้องการจองพื้นที่มากเกินไปสำหรับคอลัมน์ varchar คอลัมน์หนึ่ง สามารถ ตัดทอน ค่าก่อนแปลงชนิดข้อมูลได้

ใช้ syntax ต่อไปนี้:

ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)

อ่านความหมายได้ดังนี้: เนื่องจากต้องการจองพื้นที่เพียง x ตัวอักษรสำหรับ column_name จึงต้องเก็บเฉพาะ SUBSTRING ของแต่ละค่า นั่นคือ x ตัวอักษรแรก แล้วตัดส่วนที่เหลือทิ้ง วิธีนี้ทำให้ค่าทั้งหมดเป็นไปตามข้อกำหนดของ varchar(x)

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

SQL เบื้องต้น: ฐานข้อมูลเชิงสัมพันธ์

ดูคอร์ส

คำแนะนำการฝึกหัด

  • รันโค้ดตัวอย่างตามที่เป็นอยู่ แล้วสังเกตข้อผิดพลาดที่เกิดขึ้น
  • จากนั้นใช้ SUBSTRING() เพื่อลดความยาวของ firstname ให้เหลือ 16 ตัวอักษร เพื่อให้สามารถเปลี่ยนชนิดข้อมูลเป็น varchar(16) ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors 
ALTER COLUMN firstname 
TYPE varchar(16)
แก้ไขและรันโค้ด