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   ');






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