SQL的计算字段(非表中的自然字段)


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

例如:

1.需要显示公司名称,同时还需要显示公司的地址,但由于第一范式这两个信息存储在表中的不同的字段中

2.城市,州和邮政编码存储在不同列中,同上

3.物品订单表存储物品的价格和数量,不存储每个物品的总价格,但要打印发票,需要物品的总价格。

总之,功能大致有如下两种:

1. 拼接字段

2. 算术计算

拼接字段

在SQL Server和Access中使用 + 号,在DB2、Oracle、PostgreSQL、SQLite中使用 ||  号,在MySQL和MariaDB中使用Concat函数

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

FROM  Vendors

ORDER BY vend_name;


SELECT  vend_name ||  '(' || vend_country || ')'

FROM  Vendors

ORDER BY vend_name;


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

FROM  Vendors

ORDER BY vend_name;


并且可以使用别名AS

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

FROM  Vendors

ORDER BY vend_name;


算术计算

SELECT  prod_id , quantity , item_price,  quantity * item_price  AS  expanded_price

FROM  OrderItems

WHERE  order_num = 2008;

基本算术操作符, +加,  -减 ,  * 乘 ,/ 除


测试计算:

SELECT语句为测试、检验函数和计算提供了很好的方法,省略了FROM子句后就是简单地访问和处理表达式,例如:

SELECT  3*2;

SELECT  Trim('  abc   ');






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章