第十天了,加油呀
计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
字段(field) 基本上与列( column) 的意思相同,经常互换使
用,不过数据库列一般称为列,而术语字段通常用在计算字段的
连接上
我们把字段看成列就好了,至于字段和列的细微区别这里就不在赘述。
我们考虑这样一个情况,现在有一个表,一列存储的是姓,一列存储的是名,那我现在想得到一列存储的是姓名怎么办呢?这时候就需要拼接字段了。
拼接(concatenate) 将值联结到一起构成单个值。
在MySQL中,我们借助函数concat
来实现拼接(函数的用法和其他语言的没有太多区别),其他语言实现拼接的方式可能不同。
看下面的表name
我们要把姓和名拼接起来
最后我们就得到了一个计算字段(可以理解成不是表格原来的列,而是后来通过某种方法生成的列),也就是一个新的列,但是原来的表不会发生变化。
Concat()拼接串,即把多个串连接起来形成一个较长的串。
Concat()需要一个或多个指定的串,各个串之间用逗号分隔。
上面的例子就是吧姓和空格和名拼接起来。
在第八天的时候,我们提到了空格会对使用通配符匹配造成影响,那么今天我们来实现删除首尾空格。
RTrim() 去掉值右边的所有空格。
LTrim() 去掉串左边的所有空格
Trim() 去掉串左右两边的所有空格
我们把表稍微修改一下,姓(family_name)的值前后都有一个空格
这样就删掉了右边的所有空格。
这是一个很常用的功能
别名( alias) 是一个字段或值的替换名。别名用AS关键字赋予。
比如说上面计算字段是没有名字的,那么就需要我们给它取个名字
结果没有太大区别,但是列名变了。
同样的我们可以对表中已有的列取别名
只要借助关键字as即可,as前面是之前的名字,后面是新的名字。
下面我们考虑算术计算,比如说有一张表,有两列,一列是单价,一列是数量,那我我想得到总价的列怎么实现呢?这时候就需要算术计算了。
看下面这张表(product)
还有其他的一些用法,大家可以自行实验
今天的内容比较简单,就这样咯~