Sql 可以在表创建中使用强制转换和转换吗
我以前从未尝试过这种SQL查询,所以请原谅我提出这个问题。是否可以在表创建中使用强制转换和转换Sql 可以在表创建中使用强制转换和转换吗,sql,Sql,我以前从未尝试过这种SQL查询,所以请原谅我提出这个问题。是否可以在表创建中使用强制转换和转换 create table Owner ( Id int identity(0,1) , Name nvarchar(200) , CountryId int , PolicyNumber AS (CONVERT(CountryId AS char(3)) + CONVERT(Id AS char(10)) varchar(40) ) go
create table Owner
(
Id int identity(0,1)
, Name nvarchar(200)
, CountryId int
, PolicyNumber AS (CONVERT(CountryId AS char(3)) + CONVERT(Id AS char(10)) varchar(40)
)
go
是的,它被称为,但你用错了:
create table Owner(
Id int identity(0,1)
,Name nvarchar(200)
,CountryId int
,PolicyNumber AS (CAST(CountryId AS VARCHAR(10)) + CAST(Id AS VARCHAR(10)))
)
go
varchar(40)
Server 2012+
则使用简单的CONCAT
:
create table Owner(
Id int identity(0,1)
,Name nvarchar(200)
,CountryId int
,PolicyNumber AS (CONCAT(CountryId, Id)));
go
创建表所有者(
Id整型标识(0,1)
,姓名nvarchar(200)
,CountryId int
,保单编号为(CONCAT(CountryId,Id));
去
- 将
和非空
添加到主键
Id
- 将
添加到REFERENCES
中,并使其CountryId
不为空
- 将分隔符添加到两个数字之间的计算列,如
(参见演示)-