一、計算字段
儲存在資料庫表中的資料一般不是應用程式所需要的格式
1、如果想在乙個欄位中既顯示公司名,又顯示公司的位址,但這兩個資訊一般包含在不同的字段中。
2、城市、州和郵編儲存在不同的列中,但郵件標籤列印程式卻需要把它們作為乙個恰當格式的字段檢索出來。
3、列資料是大小寫混合的,但是報表程式需要的所有資料按大寫表示出來。
4、物品訂單的總**一般是不儲存到資料中的,但是我們需要。
我們需要計算字段,計算欄位並不存在於資料庫中,而是執行時在select語句內建立的。
二、拼接字段
拼接字段(concatenate):將值連線到一起構成單個值。使用concat函式來拼接兩個列。例如:
select concat(vend_name,'(',vend_country,')') from vendors order by vend_name;
concat()拼接串,即把多個串連線起來形成乙個較長的串。它需要乙個或多個指定的串,各個串之間用逗號分隔。
select concat(rtrim(vend_name),'(',rtrim(vend_country),')') from vendors order by vend_name;
rtrim:函式去掉右邊的空格,通過使用rtrim(),各個列都進行了整理。同理,ltrim(),trim()一樣道理。
三、使用別名:別名是乙個字段或者值的替換名,用as關鍵字賦予。
select concat(rtrim(vend_name),'(',rtrim(vend_country),')') as vend_title from vendors order by vend_name;
輸出結果和上面兩個相同,不過標題換成了vend_title.
四、執行算術計算:對檢索出來的資料進行算術運算
orders表包含收到的所有訂單,orderitems表包含每個訂單中的各項物品。如下:
select prod_id,quantity,item_price from orderitems where order_num=20005;
item_price列包含訂單中每項物品的單價,如下:
select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems where order_num=20005;
以上語句的expanded_price列為乙個計算字段(別名,作為乙個物品的總價)
mysql中支援如下表中列出的基本算術運算子,此外,圓括號可用來區分優先順序。
+ 加
- 減
* 乘
/ 除
MySQL計算字段
計算字段 資料庫中存放的表是按列存放,但是有時客戶機想獲得的資訊是若干列之間的組合,或者求和的值。這個組合或者求和的動作可以放在客戶機應用程式來做,但是在資料庫中實現更為高效。這個新計算出來的結果就稱為字段。例如我們需要vend的name後面用括號說明所屬國家。則可以實現如下,使用mysql的con...
MySQL 計算字段
字段 基本與列的意思相同,經常互換使用 拼接字段 select concat vend name,vend country,as newcolumn from vendors order by vend name 返回結果便會將 商名稱和 商位址放在一列,並在 商位址外加上括號 使用as為一列設定別...
mysql建立計算字段 MySQL建立計算字段
概述 儲存在資料庫表中的資料一般不是應用程式所需要的格式。這時候計算欄位就發揮作用了。與前面各章介紹過的列不同,計算欄位並不實際存在於資料庫表中。計算欄位是執行在select語句內建立的。可在sql語句內完成的許多轉換和格式化工作都可以直接在客戶機應用程式內完成。但一般來說,在資料庫伺服器上完成這些...