7/7 SELECT语句:创建计算字段
計算字段:
存儲在數(shù)據(jù)庫表中的數(shù)據(jù)一般不是應(yīng)用程序所需要的格式。比如:
在上述每個例子中,存儲在表中的數(shù)據(jù)都不是應(yīng)用程序所需要的。我們需要直接從數(shù)據(jù)庫中檢索出轉(zhuǎn)換、計算或格式化過的數(shù)據(jù);而不是檢索出數(shù)據(jù),然后再在客戶機(jī)應(yīng)用程序或報告程序中重新格式化。
計算字段并不實際存在于數(shù)據(jù)庫表中,計算字段是運行時在SELECT語句內(nèi)創(chuàng)建的。
只有數(shù)據(jù)庫知道SELECT語句中哪些列是實際的表列,哪些列是計算字段。從客戶機(jī)(如應(yīng)用程序)的角度來看,計算字段的數(shù)據(jù)是以與其他列的數(shù)據(jù)相同的方式返回的。
| 1 | 拼接字段 | Concat()函數(shù) |
| 2 | 使用別名 | AS關(guān)鍵字,順序:AS—FROM—WHERE—ORDER BY—LIMIT |
| 3 | 執(zhí)行算術(shù)計算 | +、-、*、/ |
| 4 | 刪除多余空格 | Trim()、RTrim()、LTrim() |
以下為數(shù)據(jù)庫SQLTEST中的三張表,其結(jié)構(gòu)和內(nèi)容如下:
1. 拼接字段
拼接(concatenate):將值聯(lián)結(jié)到一起構(gòu)成單個值。
MySQL的不同之處:多數(shù)DBMS使用+或||來實現(xiàn)拼接,MySQL則使用Concat()函數(shù)來實現(xiàn)。所以當(dāng)把SQL語句轉(zhuǎn)換成MySQL語句時一定要把這個區(qū)別銘記在心。
2. 使用別名
SQL支持列別名。別名(alias)是一個字段或值得替換名,別名用AS關(guān)鍵字賦予;
順序:AS—FROM—WHERE—ORDER BY—LIMIT。
3. 執(zhí)行算術(shù)計算
計算字段的另一常見用途是對檢索出的數(shù)據(jù)進(jìn)行算術(shù)計算。
# 創(chuàng)建新表:orderitems mysql> CREATE TABLE IF NOT EXISTS orderitems-> (prd_id TINYINT, quantity INT, item_price FLOAT); mysql> INSERT orderitems-> VALUES-> (1, 10, 5.99),-> (2, 3, 9.99),-> (3, 5, 10.00),-> (4, 1, 10.00);新添加一列expanded_price,用來計算總價(quantity*item_price)。
mysql> SELECT prd_id,-> quantity,-> item_price,-> quantity*item_price AS expanded_price-> FROM orderitems; +--------+----------+------------+--------------------+ | prd_id | quantity | item_price | expanded_price | +--------+----------+------------+--------------------+ | 1 | 10 | 5.99 | 59.89999771118164 | | 2 | 3 | 9.99 | 29.969999313354492 | | 3 | 5 | 10 | 50 | | 4 | 1 | 10 | 10 | +--------+----------+------------+--------------------+4. 刪除多余空格
Trim()函數(shù)可去掉串左右兩邊的空格;RTrim()函數(shù)可去掉值右邊的空格;LTrim()函數(shù)可去掉值左邊的空格。
mysql> SELECT Concat(LTrim(Stu_Name), '[', RTrim(Class_id), ']')-> FROM t_stu_profile-> ORDER BY Class_id DESC; +----------------------------------------------------+ | Concat(LTrim(Stu_Name), '[', RTrim(Class_id), ']') | +----------------------------------------------------+ | 趙七[0615] | | test[0615] | | 王五[0614] | | 張北[0613] | | test [0612] | | 李西[0612] | | 郭東[0611] | | 錢南[0611] | +----------------------------------------------------+總結(jié)
以上是生活随笔為你收集整理的7/7 SELECT语句:创建计算字段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6/7 SELECT语句:过滤(正则表达
- 下一篇: MySQL操作实战(一):关键字 函数