MYSQL必知必会(五)创建计算字段

计算字段

存储在数据库表中的数据一般不是应用程序所需要的格式

  1. 如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的表列中
  2. 城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来
  3. 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。
  4. 物品订单表存储物品的价格和数量,但不需要存储每个物品的总价格(用价格乘以数量即可)。为打印发票,需要物品的总价格。
  5. 需要根据表数据进行总数、平均数计算或其他计算

拼接字段

在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。

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

在这里插入图片描述Concat()拼接串,即把多个串连接起来形成一个较长的串
Concat()需要一个或多个指定的串,各个串之间用逗号分隔。上面的SELECT语句连接以下4个元素:

  1. 存储在vend_name列中的名字;
  2. 包含一个空格和一个左圆括号的串;
  3. 存储在vend_country列中的国家;
  4. 包含一个右圆括号的串。

从上述输出中可以看到,SELECT语句返回包含上述4个元素的单个列(计算字段)。

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

RTrim()函数去掉值右边的所有空格,LTrim()(去掉串左边的空格),Trim()(去掉串左右两边的空格)

使用别名

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

执行算数计算

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

在这里插入图片描述

在这里插入图片描述

SELECT Now()##Now()函数返回当前日期和时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值