有的時候我們需要直接從資料庫中檢索出轉換、計算或格式化過的資料;而不是檢索出資料,然後在客戶機應用程式或報告程式中重新格式化。
這就會計算字段發揮作用的所在了。
計算欄位並不實際存在於資料庫表中。計算欄位你是執行時再select語句內建立的。
**字段(field)基本上與列(column)**的意思相同,經常互換使用,不過資料庫列一般稱為列,而術語字段通常用在計算欄位的連線上。為了說明如何使用計算字段,舉乙個建立由兩列組成的標題的簡單例子。
**拼接(concatenate)**將值聯結到一起構成單個值解決辦法就是把兩個列拼接起來。在mysql的select語句中,可使用concat()函式來拼接兩個列。
多數dbms使用+或||來實現拼接,mysql則使用concat()函式來實現。當把sql語句轉換成mysql語句時一定要把這個區別銘記在心。mysql>select concat(vend_name,『(』,vend_contry,『)』) from venders order by vend_name;
concat()拼接串,即把多個串連線起來形成乙個較長的串。曾提到過通過刪除右側多餘的空格來整理資料,這可以使用mysql的rtrim()函式來完成得到以下輸出:
concat(vend_name,『(』,vend_contry,『)』)
acme(usa)
anvils r us (usa)
mysql>select concat(rtrim(vend_name),『(』,rtrim(vend_contry),『)』) from vendors order by vend_name;
rtrim()函式去掉值右邊的所有空格。通過使用rtrim(),個格列都進行了整理。別名(alias)是乙個欄位或值的替換名。別名用as關鍵字賦予。mysql除了支援rtrim()去掉右邊的空格,
還支援ltrim()去掉串左邊的空格
以及trim()去掉串左右兩邊的空格
mysql>select concat(rtrim(vend_name),『(』,rtrim(vend_contry),『)』) as vend_title from vendors order by vend_name
得到以下輸出:
vend_title
acme(usa)
anvils r us (usa)
別名有時也稱為匯出列(derived column),不管稱為什麼,它們所代表的都是相同的東西。
mysql>select prod_id, quantitym,item_price from orderitems where order_num = 2005;
mysql>select prod_id,quantity,item_price,quantity * item_price as expanded_price from orderitems where order_num = 20005;
操作符說明+
加-減*
乘/除
這裡提到乙個mysql提供的友好測試方法select 3*2 ; -> 返回 6
select trim(『abc』); -> 返回abc
select now()利用now()函式返回當前日期和時間
MySQL之建立計算字段
1 拼接字段 在mysql的select與語句中,可以使用concat 函式來拼接兩個列,而多數的dbmms卻使用 或 來實現拼接。舉個例子 select concat vend name,vend country,from vendors order by vend name 需要拼接的字串之間用...
mysql建立計算字段 MySQL建立計算字段
概述 儲存在資料庫表中的資料一般不是應用程式所需要的格式。這時候計算欄位就發揮作用了。與前面各章介紹過的列不同,計算欄位並不實際存在於資料庫表中。計算欄位是執行在select語句內建立的。可在sql語句內完成的許多轉換和格式化工作都可以直接在客戶機應用程式內完成。但一般來說,在資料庫伺服器上完成這些...
My SQL 建立計算字段
常見的建立計算字段方法有拼接和執行算術計算。假設表table products內容如下 拼接 在mysql的select語句中,可以使用concat 函式來拼接兩個列 為了儲存計算字段,可以使用as給字段賦予別名 select prod name,prod price,concat prod nam...