T-SQL

T-SQL 知识量:16 - 67 - 243

4.2 数据类型><

基本数据类型- 4.2.1 -

T-SQL的基本数据类型包括以下几种:

1. 精确数据类型:

  • 整型数据:如整型、小整型、大整型等。

  • 浮点数据:如decimal和numeric,它们是带固定精度和小数位数的数值数据类型。

  • 货币类型:如money与smallmoney,它们是货币或货币值的数据类型。money类型的数据占用8字节,smallmoney类型的数据占用4字节。

  • 逻辑数据类型:bit是逻辑数据类型,只占用1个字节的存储空间,其值为“0”和“1”。只要输入的值为非“0”,系统都会当作“1”处理。

2. 近似数据类型:用于表示浮点数值数据的大致数值。

3. 日期和时间数据类型:如datetime和smalldatetime,用于表示某天的日期和时间。

4. 字符串数据类型:包括VARCHAR、CHAR等。

5. Unicode 字符串数据类型。

6. 二进制字符串数据类型。

自定义数据类型- 4.2.2 -

在T-SQL中,除了系统提供的数据类型外,用户还可以自定义数据类型。用户自定义数据类型基于系统数据类型进行定义,可以为一个数据类型指定一个名称,以更好地说明该对象中保存值的类型,方便用户使用。

自定义数据类型的创建可以使用系统存储过程sp_addtype。其语法为:

sp_addtype @type_name = 'type_name',  
            @precision = precision,  
            @scale = scale,  
            @length = length,  
            @collation_name = collation_name,  
            @nullability = nullability,  
            @binary_base_size = binary_base_size,  
            @user_type_id = user_type_id,  
            @schema_id = schema_id,  
            @is_user_defined = is_user_defined;

其中:

  • @type_name:自定义数据类型的名称。

  • @precision:数据类型的精度。

  • @scale:数据类型的小数位数。

  • @length:数据类型的长度。

  • @collation_name:数据类型的排序规则。

  • @nullability:指定数据类型是否可以包含空值。

  • @binary_base_size:指定二进制数据类型的基础大小。

  • @user_type_id:指定用户定义的类型ID。

  • @schema_id:指定模式ID。

  • @is_user_defined:指定是否为自定义数据类型。

例如,创建一个名为myType的自定义数据类型,其数据类型为int,精度为10,可以包含空值,可以使用以下语句:

sp_addtype myType, int, 10, null;

删除自定义数据类型- 4.2.3 -

在T-SQL中,要删除自定义数据类型,可以使用系统存储过程sp_droptype。

语法为:

EXEC sp_droptype type_name;

其中,type_name是自定义数据类型的名称。

例如,如果要删除名为myType的自定义数据类型,可以执行以下语句:

EXEC sp_droptype 'myType';

需要注意的是,在删除自定义数据类型之前,必须确保没有任何表、变量或其他对象正在使用该类型。否则,将无法删除。