mysql语法之创建计算字段

创建计算字段

有的时候我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后在客户机应用程序或报告程序中重新格式化。

这就会计算字段发挥作用的所在了。

<u>计算字段并不实际存在于数据库表中。计算字段你是运行时再select语句内创建的。</u>

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

一、拼接字段

为了说明如何使用计算字段,举一个创建由两列组成的标题的简单例子。

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

解决办法就是把两个列拼接起来。在Mysql的select语句中,可使用Concat()函数来拼接两个列。

多数DBMS使用+或||来实现拼接,Mysql则使用Concat()函数来实现。当把Sql语句转换成mysql语句时一定要把这个区别铭记在心。

mysql>select Concat(vend_name,‘(’,vend_contry,‘)’) from venders order by vend_name;

Concat()拼接串,即把多个串连接起来形成一个较长的串。

得到以下输出:

Concat(vend_name,‘(’,vend_contry,‘)’)
ACME(USA)
Anvils R Us (USA)

曾提到过通过删除右侧多余的空格来整理数据,这可以使用MySQL的RTrim()函数来完成

mysql>select Concat(RTrim(vend_name),‘(’,RTrim(vend_contry),‘)’) from vendors order by vend_name;

RTrim()函数去掉值右边的所有空格。通过使用RTrim(),个格列都进行了整理。

MySQL除了支持RTrim()去掉右边的空格,

还支持LTrim()去掉串左边的空格

以及Trim()去掉串左右两边的空格

二、使用别名

别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。

mysql>select Concat(RTrim(vend_name),‘(’,RTrim(vend_contry),‘)’) AS vend_title from vendors order by vend_name

得到以下输出:

vend_title
ACME(USA)
Anvils R Us (USA)

别名有时也称为导出列(derived column),不管称为什么,它们所代表的都是相同的东西。

三、执行算术计算

mysql>select prod_id, quantitym,item_price from orderitems where order_num = 2005;

mysql>select prod_id,quantity,item_price,quantity * item_price AS expanded_price from orderitems where order_num = 20005;

操作符 说明
+
-
*
/

这里提到一个mysql提供的友好测试方法

select 3*2 ; -> 返回 6

select Trim(‘abc’); -> 返回abc

select Now()利用Now()函数返回当前日期和时间

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 3,677评论 0 0
  • (一)几个数据库相关的概念 1.数据库 数据库: 保存有组织数据的容器。 数据的所有存储、检索、管理和处理实际上是...
    快乐的小飞熊阅读 3,573评论 0 1
  • 1.表中的任何列都可以作为主键, 只要它满足以下条件:任意两行都不具有相同的主键值;每一行都必须具有一个主键值( ...
    Cherryjs阅读 4,134评论 0 0
  • 第10章 创建计算字段 1、计算字段 计算字段:指在数据库列中不直接存在,需要多个列计算后才能得出的字段。 运用计...
    thinkact阅读 1,898评论 0 0
  • 我厌恶看到有人被打的画面 那会使我不得不面对 这个世界的野蛮与粗俗 我不想承认这个事实 所以不要一而再地推到我的面前
    五色浮元子_阅读 773评论 0 0