開始使用免費開始

使用函式進行型別轉換(USING)

如果你不想為某個 varchar 欄位預留太多空間,可以在轉換型別前先將值「截斷」(truncate)。

你可以使用以下語法:

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

解讀方式如下:因為你只想替 column_name 保留 x 個字元,你就必須保留每個值的 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)
編輯並執行程式碼