美文网首页
Mysql第十章 - 计算字段

Mysql第十章 - 计算字段

作者: 足__迹 | 来源:发表于2024-08-14 17:44 被阅读0次

存储在数据库表中的数据一般不是应用程序所需要的格式。
下面举几个例子

  • 如果想在一个字段中即显示公司名,有显示公司的地址,但这个信息一般包含在不同的列中。
  • 城市,州和邮寄编码存储在不同的列中,但邮寄标签打印程序却需要将它们作为一个恰当格式字段表示出来
  • 列数据是大小写混合的,但报表程序需要把所有数据按照大写表示出来
  • 物品订单表存储物品的价格和数量,但不需要存储每个物品的总价格。为打印发票,需要物品的总价格
  • 需要根据表数据进行总数,平均计算或其他计算

字段(filed)

定义:“字段”基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为“列”,而术语字段通常用在计算字段连接上

客户机与服务器的格式 :

可在SQL语句内完成的许多转换和格式化工作都可以直接在客户机应用程序内完成。但一般来说,在数据库服务器上完成这些操作比在客户机中完成要快得多,因为DBMS是设计来快速有效地完成这种处理的。

CONCAT :拼接(concatenate) 将值联结到一起构成单个值

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

MYsql的不同点:多数DBMS使用+或||来实现拼接,MySQL则使用Concat()函数来实现。当把SQL语句转换成MySQL语句时一定要把这个区别铭记在心

举例:
输入:
select CONCAT(p.person_name,'(',p.biz_code ,')') FROM pi_trades.patient p
输出:


基础.png

分析:
Concat()拼接串,即把多个串连接起来形成一个较长的串,Concat()需要一个或多个指定的串,各个串之间用逗号分隔。

Trim函数()函数

定义:

  • RTrim()函数:去掉值右边的所有空格。
  • LTrim()函数:支持左边的所有空格。
  • Trim()函数:去掉左右两边的空格。
    举例:
--- 基础查询
select  CONCAT(p.person_name,'(',p.biz_code  ,')')  FROM  pi_trades.patient p 
WHERE p.person_name like'%郝忠平%'
--- 去除患者姓名右边的空格
select  CONCAT(RTRIM(p.person_name),'(',p.biz_code  ,')')  FROM  pi_trades.patient p 
WHERE p.person_name like'%郝忠平%'
--- 去掉患者姓名左边的空格
select  CONCAT(LTRIM(p.person_name),'(',p.biz_code  ,')')  FROM  pi_trades.patient p 
WHERE p.person_name like'%郝忠平%'

别名(alias)

定义:SQL支持列别名。别名(alias)是一个字段或值的替换名。别名用AS关键字赋予
输入:
select CONCAT(LTRIM(p.person_name) ,'(',p.biz_code ,')') AS 患者姓名 FROM pi_trades.patient p
WHERE p.person_name like'%郝忠平%'
输出:


image.png

分析:
SELECT语句本身与以前使用的相同,只不过这里的语句中计算字段之后跟了文本“患者姓名”。它指示SQL创建一个包含指定计算的名为“患者姓名”的计算字段。

执行算术计算

计算字段的另一个常见用途是对检索出数据进行算术计算,
举例:
orders表包含收到的所有订单,orderitems表包含每个订单中的各项物品。
输入:检索订单号20005中的所有物品

select prod_id,quantity,item_price from orderitems where order_num=20005

输出:


image.png

item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):
输入:
select prod_id,quantity,item_price ,quantityitem_price AS expanded_price from orderitems where order_num=20005
分析:
输出中显示的expanded_price列为一个计算字段,此计算为quantity
item_price。客户机应用现在可以使用这个新计算列,就像使用其他列一样

image.png

相关文章

  • MySQL必知必会 第10-12章

    第十章 创建计算字段 本章介绍如何创建字段,如何从应用程序中使用别名引用它们。 10.1 计算字段 字段 (fie...

  • 《MySQL必知必会》读书笔记2

    第十章:创建计算字段 拼接字段拼接函数 Concat()SELECT Concat(name, '(', depa...

  • MySQL 计算字段

    字段基本与列的意思相同,经常互换使用 拼接字段Vendors表中包含供应商名和地址信息。假如要生成一个供应商报表,...

  • MySQL创建计算字段

    字段 字段与列含义差不多,数据库列一般叫列,字段一般是指计算字段 计算字段 其实就是一段各个列的信息集合,这个...

  • MySQL创建计算字段

    计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。下面举几个例子。 如果想在一个字段中既显示公司名,又...

  • Mysql 创建计算字段(七)

    本节将简单介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们 拼接字段 将值联结到一起构成单...

  • [Mysql教程系列] order by 多字段排序

    mysql单个字段降序排序: mysql单个字段升序排序: mysql多个字段排序: 多字字段排序只需要添加多个排...

  • MySQL笔记2

    MySQL笔记2 创建计算字段 1、拼接字段 拼接(concatenate):将值联结到一起(将一个值附加到另一个...

  • 5. 创建计算字段

    创建计算字段 计算字段 字段(field)与列的意思相同数据库列一般称列,而字段常与计算字段一起使用。 计算字段并...

  • Mysql从学会基础到学会放弃

    一、MySQL新增字段 1.单个字段 2. 批量增加字段 MySQL修改字段 1. 修改字段长度 2.修改字段的名...

网友评论

      本文标题:Mysql第十章 - 计算字段

      本文链接:https://www.haomeiwen.com/subject/uosskjtx.html