VARCHAR(n)

变长字符类型(VARCHAR)用于存储可变长度的字符串。与定长类型不同,VARCHAR 只占用实际内容所需的存储空间,适合存储长度差异较大的字符串数据。

语法

VARCHAR(n)

参数说明

参数类型必填说明
n
n
整数字符串的最大长度,取值范围为 1 到 1048576(约 1 MB)

值范围

  • 最小长度:1 个字符
  • 最大长度:1048576 个字符(1 MB)
  • 存储空间按实际内容长度分配,不足
    n
    n
    的部分不补空格

示例

  1. 创建包含 VARCHAR 列的表:

    CREATE TABLE doc_test.varchar_demo ( id INT, name VARCHAR(50), description VARCHAR(200) );

  2. 将整数转换为 VARCHAR:

    SELECT CAST(12345 AS VARCHAR(20));

    返回:

    12345
    12345

  3. 将字符串转换为指定长度的 VARCHAR:

    SELECT CAST('hello' AS VARCHAR(100));

    返回:

    hello
    hello

  4. 使用最大长度 VARCHAR(1048576):

    SELECT CAST('x' AS VARCHAR(1048576));

    返回:

    x
    x

  5. NULL 值处理:

    SELECT CAST(NULL AS VARCHAR(50));

    返回:

    NULL
    NULL

注意事项

  • 最大长度为 1048576(约 1 MB),不是 65535。声明列类型时

    n
    n
    不能超过此值。

  • 插入超过

    n
    n
    长度的字符串时,会静默截断
    n
    n
    个字符,不报错、不警告。

  • VARCHAR 区分大小写,比较时按字符逐一比对。

  • 存储中文等多字节字符时,

    n
    n
    表示字符数,不是字节数。

  • CAST 转换失败(如将不兼容类型转为 VARCHAR)时返回 NULL。

联系我们
预约咨询
微信咨询
电话咨询