本节将介绍什么事计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用他们 。
简单说,计算字段其实就是一段各个列的信息集合,这个集合实际并不存在与数据库表中吗计算字段是运行时在SELECT语句内创建的 。
Tip: 字段: 基本上与列的意思相同,经常互换使用,不过数据库列一般称为列,而属于字段通常用在计算字段的连接上。
part 1 拼接字段
上面说到计算字段是一个集合,这个集合能够按照我们需要的格式列出各种不同的值。那就需要我们把不同的列拼接起来,形成拼接字段。
我们直接看例子:
SELECT CONCAT(users.user_name,'(',users.user_age,' ',users.user_id,')') FROM users ORDER BY users.user_id;
多数数据库管理软件使用 + 或 || 来实现拼接,但是MySQL用Concat()函数来实现!
Concat()拼接串,就是把多个串连接起来形成一个较长的串。Concat()需要一个或多个指定的串,各个串之间用逗号分隔。
我们之前提到过,有一个删除列中数据空格的函数,记得吗?在这里就可以使用他!
SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')') FROM vendors ORDER BY vend_name;
这里的RTrim是去掉右边的所有空格,Trim是去掉所有的空格。
part 2 使用别名
从前面的输出可以看出,我们新创建的集合(形成了一个列)的名字是什么,他实际没有名字,他只是一个值。这样子,如果我们的客户机试图去引用他,就会无法引用!
为了解决这个问题,SQL支持列别名。别名就是一个字段或值的替换名,别名用AS关键字赋予。看例子:
SELECT CONCAT(users.user_name,'(',users.user_age,' ',users.user_id,')') AS VENDLIST FROM users ORDER BY users.user_id;
这样子,我们在查看输出的列,就会发现他的名字是VENDLIST啦 。
part 3 执行算数计算
直接点吧! 我们看看例子:
SELECT users.user_name,users.user_age * users.user_id AS user_prices FROM users ORDER BY users.user_id;
这样我们的输出结果将会多出一了个列,名为user_prices,它是由age * id 得来的!
我们MySQL 的计算 支持 + - * / !