概述
儲存在資料庫表中的資料一般不是應用程式所需要的格式。這時候計算欄位就發揮作用了。與前面各章介紹過的列不同,計算欄位並不實際存在於資料庫表中。計算欄位是執行在select語句內建立的。
可在sql語句內完成的許多轉換和格式化工作都可以直接在客戶機應用程式內完成。但一般來說,在資料庫伺服器上完成這些操作比在客戶機中完成的要快得多,因為dbms是設計來快速有效的完成這種處理的。
拼接字段
在mysql的select語句中,可使用concat()函式來拼接兩個列。其語法如下所示:
select concat(vend_name,' (', vend_country,')') from vendors
分析:concat拼接串,即把多個串連線起來形成乙個較長的串。concat()需要乙個或多個指定的串,各個串之間用逗號分隔。
如果要去掉欄位中的空格,可以使用trim()函式來實現,語法如下所示:
select concat(trim(vend_name),' (', trim(vend_country),')') from vendors
使用別名
從前面輸出中的可以看到,select語句拼接位址字段工作的的很好。但此新計算列的名字是什麼呢?實際上他沒有名字,他只是乙個值。為了解決這個問題,可使用列別名。別名是乙個欄位或值
的替換名。別名可用as關鍵字來賦予。示例如下:
select concat(vend_name,' (', vend_country,')') as vent_title from vendors
別名的其他用途:別名還有其他的用途。常見的用途包括在實際列表名包含不符合規定的字元(如空格)時重新命名它,在原來的名字含混或容易誤解時擴充它,等等。
執行算數計算
計算欄位的另一種常見用途是對檢索出的資料進行算數計算。舉例如下:
select prod_id ,quantity, item_price quanity * item_price as expanded_price from orderitems;
mysql支援的算術操作符包括,加(+)、減(-)、乘(*)、除(/)。
MySQL計算字段
計算字段 資料庫中存放的表是按列存放,但是有時客戶機想獲得的資訊是若干列之間的組合,或者求和的值。這個組合或者求和的動作可以放在客戶機應用程式來做,但是在資料庫中實現更為高效。這個新計算出來的結果就稱為字段。例如我們需要vend的name後面用括號說明所屬國家。則可以實現如下,使用mysql的con...
MySQL 計算字段
字段 基本與列的意思相同,經常互換使用 拼接字段 select concat vend name,vend country,as newcolumn from vendors order by vend name 返回結果便會將 商名稱和 商位址放在一列,並在 商位址外加上括號 使用as為一列設定別...
mysql 計算字段
一 計算字段 儲存在資料庫表中的資料一般不是應用程式所需要的格式 1 如果想在乙個欄位中既顯示公司名,又顯示公司的位址,但這兩個資訊一般包含在不同的字段中。2 城市 州和郵編儲存在不同的列中,但郵件標籤列印程式卻需要把它們作為乙個恰當格式的字段檢索出來。3 列資料是大小寫混合的,但是報表程式需要的所...