《SQL必知必会(第4版》读书笔记第7课

出外勤11天,回来以后做新项目每天早出晚归完成了一个小项目,时间就是这么快,每天都把书带着,但是仍有20天没更新了。这一次试着用手写输入笔记 。

第7课 创建计算字段

7.1计算字段

存储在数据库表中的数据一般不是应用程序所需要的格式。我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是在客户端应用程序中重新格式化。因为在数据库服务器上完成这些操作笔在客户端中完成要快得多。

计算字段是运行时在SELECT语句内创建的。只有数据库知道SELECT语句中哪些列是实际的表列,那些列是计算字段。

7.2拼接(concatenate)字段

在MySQL和MariaDB中,必须使用特殊的函数。如:

SELECT Concat(vend_name, '(',vend_country,')')

FROM Vendors

ORDER BY vend_name;

(以上标点符号格式是在英文格式下输入的)

在Access和SQL Server使用 + 号,在DB2/Oracle/PostgreSQL/SQLite和Open Office Base使用||,详细参阅DBMS文档。如:

输入:

SELECT vend_name+ '(' + vend_country + ')'

FROM Vendors

ORDER BY vend_name;

输出:

Bear Emporium (USA )

Bears R Us (USA )

许多数据库保存填充为列宽的文本值,而我们必须使用RTRIM( )去掉这些空格。

输入:

SELECT RTRIM(vend_name)+ '(' +RTRIM(vend_country) + ')'

FROM Vendors

ORDER BY vend_name;

输出:

Bear Emporium (USA)

Bears R Us (USA)

注:大多数DBMS都支持RTRIM(去掉)、LTRIM()以及TRIM()。

使用别名alias/导出列 derived column

一个未命名的列不能用于客户端应用中,别名用AS关键字赋予,以便引用程序能引用计算字段。其他用途:在实际的表列名包含不合法的字符(如空格)时重新命名它,在原来的名字含混或容易误解时扩充它。

别名最常见的使用是将多个单词的列名重命名为一个单词的名字。

7.3执行算数计算

SELECT prod_id,quantity,item_price, (原文是分成了三列,可能是为了书写好看)

quantity*item_price AS expanded_price

FROM OrderItems

WHERE order_num=20008; (原文=左右两边都有空格)

总结:SELECT语句为测试、检验函数和计算提供了很好的办法。如:

SELECT 3*2; SELECT Trim('abc'); SELECT Now();

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910G11U0000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券