在T-SQL(SQL Server 2005)中是否存在任何别名数据类型的方法,有点像C typedef?我希望能够将VARCHAR(20)的别名称为“my_datatype”,这样无论我想在哪里使用VARCHAR(20),我都可以使用my_datatype。
同义词允许您对表执行此类操作,并且某些数据类型也有内置同义词,但AFAICS无法定义您自己的数据类型同义词。有人知道有什么不同吗?
答案 0 :(得分:6)
这个怎么样?
CREATE TYPE [schema_name.]typename
FROM system_data_type_name [(precision,scale)] [NULL|NOT NULL]
例如
CREATE TYPE CountryCode
FROM char(2) NULL
答案 1 :(得分:3)
您正在寻找的是User Defined Datatypes或UDD。
答案 2 :(得分:2)
对于SQL Server 2005,您有alias和CLR类型。两者都使用CREATE TYPE
答案 3 :(得分:1)
或许创建类型?
答案 4 :(得分:0)
对于PostgreSQL,语法有点不同:
CREATE DOMAIN [schema_name.]new_typename
AS existing_typename [any_constraint];
例如:
CREATE DOMAIN CountryCode
AS char(2);