出外勤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();
领取专属 10元无门槛券
私享最新 技术干货