![](https://img.haomeiwen.com/i2170761/674f6c7eff7e0a26.png)
- 什么是计算字段?
- 如何创建计算字段?
- 如何从应用程序中使用别名引用他们?
1、计算字段
存储在数据库表中的数据一般不是应用程序所需要的格式,
例如:
①需要显示公司名和公司地址,但是这两个信息存储在不同的列表中。
②省、市、县、邮编存储在不同的列中,但是邮件标签打印程序需要把它们作为一个恰当格式的字段检索出来
③需要根据表数据进行平均数、总数、方差之类的计算。
以上例子中,存储在表中的数据都不是应用程序所需要的。我们需要从数据库中检索出转换、计算或格式化的数据
,而不是检索出数据,然后再在客户端应用程序中重新格式化。
计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
字段(field)
基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而字段
这个术语通常在计算字段这种场合下使用。
tips:
①只有数据库知道SELECT语句中 哪些列是实际的表列,哪些列是计算字段。在客户端看来,计算字段的数据与其他列的数据的返回方式相同。
②在SQL语句内可完成的许多转换和格式化工作 都可以直接在客户端应用程序内完成。但是一般来说,在数据库服务器上
完成这些操作比在客户端中完成要快得多
。
2、拼接字段
如何使用计算字段,例如:创建由两列组成的标题。
拼接(concatenate)
将值连结到一起构成单个值。
SQL Server使用+号。DB2、Oracle、PostgreSQL和SQLite使用||(两个竖杠)。
SELECT g_brand + '(' + g_name +')'
FROM Goods
ORDER BY g_name;
SELECT g_brand || '(' || g_name ||')'
FROM Goods
ORDER BY g_name;
如果是
MySQL
或MariaDB时需要使用Concat()
语句
SELECT Concat( g_brand, '(', g_name, ')' )
FROM Goods
ORDER BY g_name;
- 就可以得到返回值:
MengNiu ( 盒装奶 )
WangWang ( 雪饼 )
RTIM
去掉右侧所有空格
SELECT Concat(RTRIM(g_brand), '(', RTRIM(g_name), ')' ) AS new_title
FROM Goods
ORDER BY g_name;
AS
别名(导出列):就是给表列的重新命名。
3、执行算数计算
SELECT number, item_price,name ,
number* item_price AS total_price
FROM Goods
WHERE number > 0;
SQL算数操作符
操作符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
SELECT 语句省略了FROM后就是简单的访问和处理表达式。
用此可以方便测试、检验函数和计算。
例如:
SELECT 2 * 3; 返回6
SELECT Trim (' abc '); 返回 abc
SELECT Curdate(); 返回当前日期
网友评论