计算字段

储存在数据库表中的数据一般不是应用程序所需要的格式。例如

  • 信息包含在不同列表中
  • 数据大小写格式混合
  • 对数据进行总数、平均值等计算
    需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化
    通过SELECT语句内创建

客户机与服务器的格式

在数据库中完成格式化工作要比在程序中快得多,因为DBMS时设计来快速有效地完成这种处理的

拼接字段CONCAT(str1,str2,...)

将值联结到一起构成单个值。
在MySQL的SELECT语句中,使用Concat()函数来拼接两个列

MySQL的不同之处

多数DSMS使用+或||来实现拼接,MySQL使用Concat()函数来拼接

SELECT
	CONCAT( vend_name, "(", vend_country, ")" ) 
FROM
	vendors 
ORDER BY
	vend_name;

拼接vend_name和vend_country列,且country使用()包围来组合成一个返回结果
image.png

删除多余空格TRIM(str)

  • RTRIM函数去除右边的所有空格
  • LTRIM函数去除左边的空格
  • TRIM去除左右的空格
SELECT
	CONCAT( RTRIM( vend_name ), "(", RTRIM( vend_country ), ")" ) 
FROM
	vendors 
ORDER BY
	vend_name;

使用别名AS

一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它
SQL支持别名(alias)。其是一个字段或值的替换名。使用AS关键字赋予

SELECT
	CONCAT( RTRIM( vend_name ), "(", RTRIM( vend_country ), ")" ) AS vend_title 
FROM
	vendors 
ORDER BY
	vend_name;

其指示SQL创建一个包含指定计算的名为vend_tittle的计算字段
image.png

别名的其他用途

  • 表列名包含不符合规定的字符(例如空格)时重新命名
  • 在原来的名字含混或容易误解时扩充它

执行算数计算+ — * /

对检索出的数据进行算数计算

SELECT
	prod_id,
	quantity,
	item_price,
	quantity * item_price AS expanded_price 
FROM
	orderitems 
WHERE
	order_num = 20005;

计算订单中的总物品价格,并使用别名exanded_price收集
image.png

测试计算

SELECT可以省略FROM子句以便简单的访问和处理表达式。

SELECT
	3 * 2;```
返回6
- 
```SQL
SELECT
	TRIM( " abc " );

去除收尾空格返回abc

SELECT
	NOW();

image.png
返回当前时间


这个家伙很懒,啥也没有留下😋