数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL入门:用户定义类型


发布日期:2023年10月11日
 
SQL入门:用户定义类型

单值类型是与现存类型(它的类型)共享其内部表示的用户定义数据类型但对于大多数运算来说认为单值类型是独立和不兼容的例如您可能想定义年龄类型重量类型以及高度类型所有这些类型都有相当不同的语义但都使用内部数据类型 INTEGER 作为它们的内部表示

下列示例说明了命名为 PAY 的单值类型的创建

CREATE DISTINCT TYPE PAY AS DECIMAL() WITH COMPARISONS

虽然 PAY 有与内部数据类型 DECIMAL()相同的表示但还是认为它是与 DECIMAL()或任何其他类型不可比的独立类型它只能与相同的单值类型比较并且会影响到按 DECIMAL 使用的运算符和函数将在此不适用例如具有 PAY 数据类型的值不能与具有 INTEGER 数据类型的值相乘因此您必须编写只应用于 PAY 数据类型的函数

使用单值数据类型可限制偶然错误例如如果将 EMPLOYEE 表的 SALARY 列定义为 PAY 数据类型则不能将该列添加至 COMM即使它们的源类型相同

单值数据类型支持类型转换源类型可以转换为单值数据类型单值数据类型也可以转换为源类型例如如果将表 EMPLOYEE 的 SALARY 列定义为 PAY 数据类型则下列示例将不会在比较运算符处出错

SELECT * FROM EMPLOYEE

WHERE DECIMAL(SALARY) =

DECIMAL(SALARY)返回一个十进制数据类型相反地数字数据类型可以转换为 PAY 类型例如可以使用 PAY() 来转换数字 的类型

上一篇:调整SQL Server 2000运行中数据库结构

下一篇:SQL数据操作基础(初级)1