mysql---计算字段

1. 计算字段

存储在数据库表中的数据一般不是应用程序所需要的格式,例如如果想要在一个字段中既显示公司名,又显示显示公司地址,但这两个信息一般包含在不同的表列中。
但实际需要的是直接从数据库中检索出转换、计算或格式化过的数据;而不是先检索出数据,然后再在客户机应用程序或报告程序中重新格式化。
通过计算字段可以获取到实际需要的数据,但计算字段并不实际存在于数据库中。计算字段是运行时在SELECT语句内创建的。

2. 拼接字段

下面举个例子,说明一下如何拼接字段。
vender表半酣供应商名字和国籍信息。假如要生成一个供应商表,按照name(location)的格式输出。
在实际的数据表中,vend_name和vend_country是分别存储在两个列中的。
在mysql的SELECT语句中,可以使用Concat()函数来拼接两个列。

mysql的不同之处 多数DBMS使用+或||来实现拼接,mysql使用Concat()函数来实现

SELECT Concat(vend_name, ' (', vend_country, ')')
FROM vendors
ORDER BY vend_name;

删除数据中的空格

函数名描述
RTrim()删除值右边空格
LTrim()删除值左边空格
Trim()删除值两边边空格

使用方法:
在需要去除空格的字段上使用该函数

SELECT Concat(RTrim(vend_name), ' (', RTrim(vend_country), ')')
FROM vendors
ORDER BY vend_name;

使用别名
通过SELECT语句可以拼接字段,但新的的字段是没有名字的,无法再次引用。为了解决这个问题,SQL支持别名,使用AS关键字实现命名别名。

SELECT Concat(RTrim(vend_name), ' (', RTrim(vend_country), ')') AS vend_title
FROM vendors
ORDER BY vend_name;

别名其他用途
在实际的表列名包含不符合规定的字符(如空格)是重新命名,在原来的名字含混或者容易误解时扩充它。

3. 执行算术计算

计算字段的另一个常见用途是对检索出的数据进行算术计算

SELECT prod_id,
        quantity,
        item_price,
        quantity*item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值