• SQL Server 2005 中的计算字段


    在实际工作上遇到的问题:

    在订单表中有某项商品是将“订购数量(Quantity)”乘以“单件价格(UnitCost)”等于该项商品的总价(Subtotal)。

    在数据表中有的列(以下皆改叫为“字段”)是通过其他的已有字段计算而来的,这样的字段为计算字段。

    在 SQL Server 2005 的 SQL Server Management Studio(即SSMS) 中新添加的字段是须有数据类型和是否为NULL的属性的,但是计算字段却是没有属性的,那么如何在已有的数据表OrderDetail中添加新的计算字段Subtotal呢?

    在SSMS中的表设计中选击某列会有列属性,在其中有个“计算所得的列规范”的选项,如图所示:

    在上图中的“公式”中输入你想要的计算公式即可,这个字段就是计算字段了。

    下图所示为计算字段与其他字段在SSMS的表列中不一样的图标:

    打开表或在新建表的时候,在列属性下面就有\"计算所得的列规范\"项,在\"公式\"中填入需要的公式便完成计算列的设计.

    比如我们有一个表,表中有字段Birthday(datetime类型),那么我们再新建一个列为Age,在公式中填入(isnull([dbo].[GetAge]([Birthday]),(0)))然后保存便可以了。这个时候打开表中数据就可以看到Age字段已经全部显示出来了.

    注:在计算列中是不能直接写比较复杂的逻辑的,一般需要结合自定义函数和计算列,这样就可以完成各种复杂的逻辑了。

    对表右击选“编辑”,就可以看到SQL语句中有:

    [SubCost]  AS (isnull([Quantity]*[UnitCost],(0.00))),

    ps.计算字段也可以建CHECK约束哦。

  • 相关阅读:
    结对项目开始
    团队项目开始
    个人项目总结
    python面向对象
    OSI七层模型
    Django中的orm的惰性机制
    Python装饰器
    python运算符
    python元祖和列表
    Sencha Touch 1.x 快速入门 第三章 布局(2) Card布局
  • 原文地址:https://www.cnblogs.com/shanmu/p/2192937.html
Copyright © 2020-2023  润新知