MySQL查漏補缺(三) 計算字段

2021-10-20 18:30:30 字數 1493 閱讀 1943

儲存在資料庫表中的資料不是一般應用程式所需要的格式,這時候就需要我們進行計算,獲取到想要的資料格式。

例如:

如果想在乙個欄位中既顯示公司名字,又顯示公司位址,但是這兩個資訊包含在不同的表列中。
上述例子,儲存在表中的資料都不是應用程式所需要的,我們需要直接從資料庫中檢索出轉換、計算或格式化過的資料,而不是檢索出資料,然後再在客戶機應用程式或報告程式中重新格式化。

這就是計算字段發揮的作用了。計算出來的字段並不直接存在於資料庫表中。計算欄位是執行時在select語句內建立的。

字段基本上與列(column)的意思相同,經常互換使用,不過資料庫列一般稱為列,而術語字段常用在計算欄位的連線上。

注:

只有資料庫知道select語句中哪些列是實際的表列,哪些列是計算字段。從客戶機(如應用程式)的角度來看,計算欄位的資料是以與其他列的資料相同的方式返回。

拼接所謂的就是連線,將兩個或者以上的字段進行相連線,以此構成單個值。mysql中使用concat()函式來實現,其餘的多數dbms使用+或者||來實現。其中oracle中連線字段可以使用concat()或者||來實現。

select concat(company_name,',',company_address) from company_info
分析:

注意:

若想去除**列兩側的空格在進行連線,可以使用trim()函式。若只想去除右邊的空格,使用函式rtrim(),若只想去除左側的空格,使用函式ltrim()。

拼接的欄位名字是什麼?其實他沒有名字,這時候我們要是想在應用程式中進行獲取,就比較費時,此時我們可以給他指定別名。

select concat(company_name,',',company_address) as companyinfo from company_info

select concat(company_name,',',company_address) companyinfo from company_info

以上兩句sql達到的效果是一樣的,只是說第二條語句省略了關鍵字as。這樣以後,任何客戶機應用程式都可以使用companyinfo來引用這個列了,就和實際的表列一樣。

計算欄位另一常見的用途就是對檢索出來的資料進行算數計算,即加減乘除。

例如:​ 例如一張商品購物記錄表,表的列中含有訂單號、商品名稱、商品單價、商品數量,現要查詢訂單號(201542)購買的商品及該商品花費的金額。

select item_name,item_number*item_price as totalprice

from order_info

where order_number= '201542'

mysql支援基本算數操作符,即加減乘除(±*/),此外還可以使用小括號來區分優先順序。一般在應用開發中,若牽扯到基本運算的優先順序問題,建議使用小括號進行程式設計,這樣看著即明確,出錯率也小。

DOM查漏補缺

使用getattribute 方法只能獲取屬性的文字內容,比如script或者style就不方便了,因此建議使用屬性的方法來獲取,即elenode.attr這種形式 但是自定義的標籤屬性必須使用getattribute 方法來獲得。屬性的方法會返回undefined 修改class通過屬性名的方法是...

CSS查漏補缺

從父類繼承 padding inherit 字母大寫 小寫,首字母大寫 h1 h2 credits 字母 漢字間距 letter spacing 0.2em 文字對齊方向 text align right 鏈結下劃線aa hover 首字母 首行 p.intro first letter p.int...

查漏補缺 1

1.alert 用來顯示一段文字。不是文字強制轉換為文字。2.sort 排序,原理是根據unicode進行排序,可接受乙個比較函式。比較函式 function compare a,b else if a b else var values 0,5,10,5,65 values.sort compar...