《MySQL必知必会》计算字段
1.1 计算字段
字段(field)基本上与列( column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
客户机与服务器的格式
一般来说,在数据库服务器上完成这些操作比在客户机中完成要快得多,因为DBMS是设计来快速有效地完成这种处理的。
1.2 拼接字段
用拼接函数配合 like 进行模糊搜索。现在正式介绍一下,concat() 拼接函数。
在MySQL 的 SELECT 语句中,可使用 Concat() 函数来拼接两个列。
这里需要注意的是,MySQL 的特别之处:
多数DBMS 使用 + 或者 || 来实现拼接,MySQL 则使用 Concat() 函数来实现。当把SQL 语句转换为MySQL 语句时一定要注意这个区别。
这会影响到复用性的问题。
select CONCAT(vend_name , '(',vend_country,')')
from vendors
order by vend_country;
使用拼接函数 Concat()需要一个或者多个指定的串或者字段。使用格式可以参照上面的例子。
此外,还可以使用 Trim() 函数来消除左右两边多余的空格。
这主要是针对字段的。
select CONCAT(TRIM(vend_name) , '(',TRIM(vend_country),')')
from vendors
order by vend_country;
还有 LTrim() , RTrim() 用于消除左边,右边的空格。
别名
这里有一个小知识点,别名(有时也称作 导出列)。这有利于标识搜索结果和编写SQL语句。需要用到关键字 AS。
select CONCAT(TRIM(vend_name) , '(',TRIM(vend_country),')') as vend_title
from vendors
order by vend_country;
表示别名之后,任何客户机应用丢可以像使用数据库表中实际的列名一样,按此别名引用这个结果中的列。回到刚刚提到的导出列这个名字,是不是有点符合这名字了。
1.3 执行算术计算