zoukankan      html  css  js  c++  java
  • 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约束哦。

  • 相关阅读:
    weiphp 微调研数据管理控制器
    微调研设置问题控制器
    weiphp调研部分代码
    weiphp 投票插件的主控制器部分代码3
    php Stream Contexts 小记
    通过 Composer Github Packagist制作发布共享PHP包
    SFTP远程文件上传
    百度推广 SEM闪投系统
    Illegal mix of collations (utf8_general_ci,IMPLICIT) and (gbk_chinese_ci,COERCIBLE) for operation '='
    Swoole 初识
  • 原文地址:https://www.cnblogs.com/shanmu/p/2192937.html
Copyright © 2011-2022 走看看