数据库一个简单的计算列问题

问题描述

数据库一个简单的计算列问题

定义学生表,其中规定:
? ? 学号列是主关键字;
院系列为计算列(取学号列的第 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

数据库一个简单的计算列问题的相关文章

《Android游戏开发详解》——第2章,第2.6节构建一个简单的计算器程序

2.6 构建一个简单的计算器程序Android游戏开发详解现在,我们已经尝到了甜头,让我们回过头来看看第1章介绍过的一些概念,并且构建一个简单的计算器程序.让我们给出一些动手实践的指导,来构建一个新的Java程序.请记住如下的主要步骤. ① 创建一个新的Java项目(将其命名为SecondProject). ② 在src文件夹中创建一个新的类(将其命名为SimpleCalculator). ③ 创建一个main方法. 如果任何时候你碰到困难,应该参考前面的小节.一旦按照上面的步骤进行,应该会看到

《Android游戏开发详解》一2.6 构建一个简单的计算器程序

2.6 构建一个简单的计算器程序 Android游戏开发详解现在,我们已经尝到了甜头,让我们回过头来看看第1章介绍过的一些概念,并且构建一个简单的计算器程序.让我们给出一些动手实践的指导,来构建一个新的Java程序.请记住如下的主要步骤. ① 创建一个新的Java项目(将其命名为SecondProject). ② 在src文件夹中创建一个新的类(将其命名为SimpleCalculator). ③ 创建一个main方法. 如果任何时候你碰到困难,应该参考前面的小节.一旦按照上面的步骤进行,应该会看

数据库快照,自定义函数与计算列

数据库快照,自定义函数与计算列 1.数据库快照 数据库快照就是保存某个数据库在快照那一瞬间的状态.快照和备份原理上有所不同,但是功能有一点相同那就是可以将数据还原为备份的那个时刻.快照的原理是新建一个数据库指针,在原数据库没有变化的情况下快照是不占用空间的,而数据库发生了变化,那么在变化前,被修改的数据页会先复制一份到快照文件中,然后再对原数据页进行修改.显然这样做的好处就是比备份数据库占用空间小.快照是只读的,你可以直接在SQL语句中把他当数据库用: use snap1;--使用快照 sele

在SQL Server数据库中求计算列和平均值

 严格来说,Having并不需要一个子表,但没有子表的Having并没有实际意义.如果你只需要一个表,那么你可以用Where子句达到一切目的.为进行实践,Having预先假定至少两个表和一个基于第二个表的合计函数. 下面是一个简单的例子:你想要订单总数超过25000美元的客户清单.你需要适当连接的三个表:Customer.SalesOrderHeader和SalesOrderDetail.然后,你求Detail的和,并将总数与25000美元进行比较.查看列表A. 查看列表A中的代码时,有一件事情

如何使用SQLyogEnt来建立一个简单的数据库

如果你选择PHP进行网站建设,那你必须懂得php建立数据库,那用mysql数据就是必须的了.刚接触php的朋友也许对这个mysql数据库很陌生,但如果有一款非常好用的数据库管理工具,那是用起来就方便多了,笔者几天就向大家介绍一款mysql的管理工具SQLyogEnt,笔者是用的 SQLyogEnt是英文版,目前好像没有中文版,由于功能强大,所以SQLyogEnt很受PHP用户的喜爱,接下就用实例来讲解下如何使用 SQLyogEnt来建立一个简单的数据库. 今天我建立的数据库名叫"mydb&quo

【图解】详细讲解Hadoop中的一个简单数据库HBase

HBase是 Hadoop中的一个简单数据库.它与Google的Bigtable特别相似,但也存在许多的不同之处. 数据模型 HBase数据库使用了和 Bigtable非常相似的数据模型.用户在表格里存储许多数据行.每个数据行都包括一个可排序的关键字,和任意数目的列.表格是稀疏的,所以同一个表格 里的行可能有非常不同的列,只要用户喜欢这样做. 列 名是"<族 名>:<标签>"形式,其中<族名>和<标签>可以是任意字符串.一个表格的<

一个简单的数据库查询问题

问题描述 一个简单的数据库查询问题 一个文章表,一个评论表,通过文章的ID关联,现在要查出文章表中的一条数据和评论表中关于这篇文章的评论的个数,求帮忙 谢谢了. 解决方案 select w.*(select count(*) from 评论表 p where p.id=w.id ) as cnt from 文章表 w where w.id="" ""看明白不? 解决方案二: select w.neirong as 内容count(*) as 评论个数 from we

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

Ultradev实例教程:2.1 建立一个简单的access数据库

access|教程|数据|数据库 第二章:设置数据库 第一节.建立一个简单的access数据库 这一节我们将学习有关数据库创建的内容,用过Access创建数据库的朋友可以略过不看. 打开Microsoft Access,选择 文件 -〉新建数据库,然后选择一个位置保存你的数据库文件,这里我们按它默认的db1.mdb命名保存. 保存数据库后我们看到的是下面的界面,双击使用设计器创建表,开始创建一个数据表.我们这里的应用你只需照着步骤一步步做下去,即使你以前从没接触过数据库也没有问题,如果你想做深层