1. Learn
  2. /
  3. 课程
  4. /
  5. SQL 关系型数据库入门

Connected

道练习

使用函数进行类型转换 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) 的要求。

说明

100 XP
  • 直接运行示例代码,并留意报错信息。
  • 现在使用 SUBSTRING() 将 firstname 缩减为 16 个字符,使其类型可以修改为 varchar(16)。