SQL (六)創建計算字段


在這裏插入圖片描述

計算字段

在這裏插入圖片描述

  • 計算字段和列類似,經常互換使用,但是數據庫中說列更準確,而計算字段是在SELECT語句內創建的。
  • 只有服務器的數據庫知道select語句中哪些列是表列,哪些是計算字段,客戶端的應用程序不知道,他覺得都一樣。
  • 雖然客戶端的應用程序可以完成所有的格式轉換等工作,但是在服務器端完成要快得多。所以不要在客戶端做。

拼接字段

在這裏插入圖片描述

示例1:as關鍵字賦予計算字段一個別名

mysql不能用+或者雙豎槓||,要用concat函數

select concat(vend_name, '(', vend_country, ')')
as vend_title
from vendors
order by vend_name;

as vend_title指示SQL創建一個包含計算結果的名字爲vend_title的計算字段。注意vend_title並不是一個列名哦
在這裏插入圖片描述

在這裏插入圖片描述
as後面的標識符叫做別名,alias。
在這裏插入圖片描述
在這裏插入圖片描述

不建議把別名設置爲一箇中間有空格的字符串,最好是單個單詞。

可以看到,concat函數還幫助去掉了空格,如果用+或||,還需要自己用trim函數,或者rtrim,ltrim函數去掉左右兩邊的空格,右邊的空格,左邊的空格。
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

算術運算

在這裏插入圖片描述

示例

先顯示訂單號20008中的所有產品

select prod_id, 
quantity, 
item_price
from OrderItems
where order_num = 20008;

在這裏插入圖片描述
計算這個訂單中每個產品的總價:單價乘以數量

select prod_id, 
quantity, 
item_price,
quantity*item_price as expanded_price
from OrderItems
where order_num = 20008;

在這裏插入圖片描述

expanded_price是一個計算字段,由as指定別名,客戶端的應用就可以用這個新的計算列了。

SQL算術操作符

在這裏插入圖片描述
在這裏插入圖片描述

示例:用select語句進行算術計算

select 4 * 5;

在這裏插入圖片描述
去掉右邊的空格

select rtrim('abd   ');

在這裏插入圖片描述
去掉左邊的空格

select ltrim('  abd   d');

在這裏插入圖片描述
去掉兩邊的空格

select trim('  abd   d ');

在這裏插入圖片描述
返回當前時間

select now();

在這裏插入圖片描述

select 10 / 4;

在這裏插入圖片描述

總結

  • as關鍵字用於給新創建的計算字段起別名
  • 要在服務器端完成計算再通過網絡傳給客戶端應用程序
  • concat函數實現把兩列甚至更多列拼接爲一個有格式的字段
  • 可以用不帶from子句的select語句完成計算
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章