当前位置: 代码迷 >> SQL >> SQLServer:《SQL必知必会》一书的读书笔记(7)
  详细解决方案

SQLServer:《SQL必知必会》一书的读书笔记(7)

热度:76   发布时间:2016-05-05 10:08:57.0
SQLServer:《SQL必知必会》一书的读书笔记(七)

第7课 创建计算字段

 

7.1 计算字段(格式化字段)

  存储在数据库表中的数据一般不是应用程序所需要的格式,如:

    1.需要显示公司名,同时还需要显示公司的地址,但这两个信息存储在不同的表列中。

    2.列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。

  计算字段是在运行时在 SELECT 语句内创建的

  【提示】在 SQL 语句内可完成的许多转换和格式化工作都可以在客户端(应用程序中完成)。但一般来说,在数据库服务器上完成这些操作比在客户端中完成的要快

 

7.2 拼接字段

  Vendors 表包含供应商名和地址信息。假如要生成一个供应商报表,需要在格式化的名称(位置)中列出供应商的位置。

  【解析】拼接:将值联结到一起(将一个值附加到另一个值)构成单个值

  例1:

SELECT vend_name + ' (' + vend_country + ')'FROM VendorsORDER BY vend_name;

 

  例2:去掉例1的空格

SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'FROM VendorsORDER BY vend_name;

  使用别名:一个未命名的列不能用于客户端应用中,因为客户端没有办法引用它。

 

  例3:

SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')' AS vend_titleFROM VendorsORDER BY vend_name;

  【提示】AS 关键字是可选的

 

7.3 执行算数计算

  例4:检索订单号 20008 中所有的商品

SELECT prod_id, quantity, item_priceFROM OrderItemsWHERE order_num = '20008'

 

  例5:对例4的数据进行汇总

SELECT prod_id, quantity, item_price,quantity * item_price AS expanded_priceFROM OrderItemsWHERE order_num = '20008'

 

  【提示】如何进行计算测试:使用 SELECT

  SELECT 3 * 2 ;

  SELECT GETDATE();

 

7.4 小结

  • 介绍计算字段
  • 创建计算字段
  • 字符串拼接
  • 算数计算
  • 使用别名

 

续集:

  SQLServer:《SQL必知必会》一书的读书笔记(六)

  相关解决方案