欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL创建计算字段

程序员文章站 2022-07-14 10:01:55
...

说明:本文所使用的数据库样例表创建脚本下载地址:https://github.com/zhaoxd298/mysql_scripts

一、计算字段

  存储在数据库中的数据可能不是应用程序所需要的格式,比如有时候需要把多个字段拼接成一个或者对多个字段进行算术运算,这就需要数据库的计算字段来实现了。计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。

字段(field):基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。

  可能很多人有一个疑问,上述说的在数据库中做的转换工作完全可以在客户机应用程序中完成。但一般来说,在数据库上完成这次操作比在客户机中完成要快得多,因为DBMS是设计来快速有效地完成这种处理的。

二、拼接字段

拼接(concatenate):将多个值联结到一起构成单个值。

  在MySQL中的SELECT语句中,可以使用Concat()函数来拼接多个列,请看下面示例:

USE crashcourse;
SELECT CONCAT(vend_name, '(', vend_country, ')')
FROM vendors
ORDER BY vend_name;

执行结果:
MySQL创建计算字段

分析:上述示例中Concat()将多个串拼接成了一个串,每个串之间用逗号分隔。

使用别名:
  上述示例中得出的字段没有名字,它只是一个值,一个未命名的列在应用程序中无法引用。为了解决这个问题,SQL支持列别名。别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。请看下面SELECT语句:

SELECT CONCAT(vend_name, '(', vend_country, ')') AS
vend_tile
FROM vendors
ORDER BY vend_name;

运行结果:
MySQL创建计算字段

三、执行算术计算

  计算字段的另一常见用途是对检索出的数据进行算术计算,请看下面示例:

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

运行结果:
MySQL创建计算字段