mysql語法之創(chuàng)建計(jì)算字段

創(chuàng)建計(jì)算字段

有的時(shí)候我們需要直接從數(shù)據(jù)庫中檢索出轉(zhuǎn)換、計(jì)算或格式化過的數(shù)據(jù);而不是檢索出數(shù)據(jù),然后在客戶機(jī)應(yīng)用程序或報(bào)告程序中重新格式化。

這就會計(jì)算字段發(fā)揮作用的所在了。

<u>計(jì)算字段并不實(shí)際存在于數(shù)據(jù)庫表中。計(jì)算字段你是運(yùn)行時(shí)再select語句內(nèi)創(chuàng)建的。</u>

字段(field)基本上與列(column)的意思相同,經(jīng)常互換使用,不過數(shù)據(jù)庫列一般稱為列,而術(shù)語字段通常用在計(jì)算字段的連接上。

一、拼接字段

為了說明如何使用計(jì)算字段,舉一個(gè)創(chuàng)建由兩列組成的標(biāo)題的簡單例子。

拼接(concatenate)將值聯(lián)結(jié)到一起構(gòu)成單個(gè)值

解決辦法就是把兩個(gè)列拼接起來。在Mysql的select語句中,可使用Concat()函數(shù)來拼接兩個(gè)列。

多數(shù)DBMS使用+或||來實(shí)現(xiàn)拼接,Mysql則使用Concat()函數(shù)來實(shí)現(xiàn)。當(dāng)把Sql語句轉(zhuǎn)換成mysql語句時(shí)一定要把這個(gè)區(qū)別銘記在心。

mysql>select Concat(vend_name,‘(’,vend_contry,‘)’) from venders order by vend_name;

Concat()拼接串,即把多個(gè)串連接起來形成一個(gè)較長的串。

得到以下輸出:

Concat(vend_name,‘(’,vend_contry,‘)’)
ACME(USA)
Anvils R Us (USA)

曾提到過通過刪除右側(cè)多余的空格來整理數(shù)據(jù),這可以使用MySQL的RTrim()函數(shù)來完成

mysql>select Concat(RTrim(vend_name),‘(’,RTrim(vend_contry),‘)’) from vendors order by vend_name;

RTrim()函數(shù)去掉值右邊的所有空格。通過使用RTrim(),個(gè)格列都進(jìn)行了整理。

MySQL除了支持RTrim()去掉右邊的空格,

還支持LTrim()去掉串左邊的空格

以及Trim()去掉串左右兩邊的空格

二、使用別名

別名(alias)是一個(gè)字段或值的替換名。別名用AS關(guān)鍵字賦予。

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)

別名有時(shí)也稱為導(dǎo)出列(derived column),不管稱為什么,它們所代表的都是相同的東西。

三、執(zhí)行算術(shù)計(jì)算

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;

操作符 說明
+
-
*
/

這里提到一個(gè)mysql提供的友好測試方法

select 3*2 ; -> 返回 6

select Trim(‘a(chǎn)bc’); -> 返回abc

select Now()利用Now()函數(shù)返回當(dāng)前日期和時(shí)間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這一篇最主要是記錄下命令,方便以后查找 使用Mysql 創(chuàng)建數(shù)據(jù)庫 create database mysql_t...
    Treehl閱讀 663評論 0 0
  • (一)幾個(gè)數(shù)據(jù)庫相關(guān)的概念 1.數(shù)據(jù)庫 數(shù)據(jù)庫: 保存有組織數(shù)據(jù)的容器。 數(shù)據(jù)的所有存儲、檢索、管理和處理實(shí)際上是...
    快樂的小飛熊閱讀 627評論 0 1
  • 1.表中的任何列都可以作為主鍵, 只要它滿足以下條件:任意兩行都不具有相同的主鍵值;每一行都必須具有一個(gè)主鍵值( ...
    Cherryjs閱讀 838評論 0 0
  • 第10章 創(chuàng)建計(jì)算字段 1、計(jì)算字段 計(jì)算字段:指在數(shù)據(jù)庫列中不直接存在,需要多個(gè)列計(jì)算后才能得出的字段。 運(yùn)用計(jì)...
    thinkact閱讀 334評論 0 0
  • 我厭惡看到有人被打的畫面 那會使我不得不面對 這個(gè)世界的野蠻與粗俗 我不想承認(rèn)這個(gè)事實(shí) 所以不要一而再地推到我的面前
    五色浮元子_閱讀 130評論 0 0

友情鏈接更多精彩內(nèi)容