始める無料で始める

USING 関数を使った型変換

特定の varchar 列に必要以上のスペースを与えたくない場合、型を変換する前に値を切り詰めることができます。

そのために、次の構文を使用します。

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)
コードを編集して実行