问题描述
- 数据库一个简单的计算列问题
-
定义学生表,其中规定:
? ? 学号列是主关键字;
院系列为计算列(取学号列的第 3 和第 4 个字符) ,并且院系值参照院系表的编号值(院 系表是被参照表,主关键字是编号;参照表是学生表,外部关键字是院系) ,此约束说明 一名学生一定属于某个院系;
? ? ? 姓名列不允许为空值; 性别必须取值“男”或“女”; 学生的学籍状态为正常、留级、休学或退学。代码:
create table student.学生
(学号 char(8) primary key,
院系 as convert(tinyint,substring(学号,3,2)) persisted not null foreign key references student.院系(编号),
姓名 char(10) not null,
性别 char(2) check(性别='男' or 性别='女'),
生源 char(6),
状态 char(4) check(状态 in ('正常','留级','休学','退学')))其中,院系那部分,convert函数是怎么说明的,说明了什么,怎么用的
解决方案
将学号字符串的第3~5个字符转换为数字,作为外键关联给院系编号。
解决方案二:
Convert语法和用法例子.aspx "")
convert(tinyint,substring(学号,3,2))
等同于
cast(substring(学号,3,2) as tinyint)
解决方案三:
Convert语法和用法例子.aspx "")
解决方案四:
https://msdn.microsoft.com/zh-cn/library/ms187928(v=sql.120).aspx
网址超连接竟然点不开,这是问答的bug?直接贴地址
时间: 2024-11-08 19:41:22