计算字段
储存在数据库表中的数据一般不是应用程序所需要的格式。例如
- 信息包含在不同列表中
- 数据大小写格式混合
- 对数据进行总数、平均值等计算
需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化
通过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使用()包围来组合成一个返回结果
删除多余空格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的计算字段
别名的其他用途
- 表列名包含不符合规定的字符(例如空格)时重新命名
- 在原来的名字含混或容易误解时扩充它
执行算数计算+ — * /
对检索出的数据进行算数计算
SELECT
prod_id,
quantity,
item_price,
quantity * item_price AS expanded_price
FROM
orderitems
WHERE
order_num = 20005;
计算订单中的总物品价格,并使用别名exanded_price收集
测试计算
SELECT可以省略FROM子句以便简单的访问和处理表达式。
SELECT
3 * 2;```
返回6
-
```SQL
SELECT
TRIM( " abc " );
去除收尾空格返回abc
SELECT
NOW();
返回当前时间
Comments | 0 条评论