精华内容
下载资源
问答
  • SQL如何创建计算字段

    2020-05-08 11:52:48
    创建计算字段拼接字段删除右侧多余空格执行算术计算MySQL算术符 拼接字段 拼接(concatenate) 将值联结到一起构成单个值。 在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。 输入 SELECT Concat(vend_name...

    拼接字段

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

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

    输入

    SELECT Concat(vend_name, '(',vend_country,')')
    FROM vendors
    ORDER BY vend_name;
    
    +-----------------------------------------+
    | Concat(vend_name, '(',vend_country,')') |
    +-----------------------------------------+
    | Bear Emporium(USA)                      |
    | Bears R Us(USA)                         |
    | Doll House Inc.(USA)                    |
    | Fun and Games(England)                  |
    | Furball Inc.(USA)                       |
    | Jouets et ours(France)                  |
    +-----------------------------------------+
    

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

    上面的SELECT语句连接以下4个元素。
     存储在vend_name列中的名字;
     包含一个空格和一个左圆括号的串;
     存储在vend_country列中的国家;
     包含一个右圆括号的串。

    删除右侧多余空格

    可以使用MySQL的RTrim()函数来完成。

    输入

    SELECT Concat(RTrim(vend_name), '(',vend_country,')')
    FROM vendors
    ORDER BY vend_name;
    
    +------------------------------------------------+
    | Concat(RTrim(vend_name), '(',vend_country,')') |
    +------------------------------------------------+
    | Bear Emporium(USA)                             |
    | Bears R Us(USA)                                |
    | Doll House Inc.(USA)                           |
    | Fun and Games(England)                         |
    | Furball Inc.(USA)                              |
    | Jouets et ours(France)                         |
    +------------------------------------------------+
    

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

    执行算术计算

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

    orders表包含收到的所有订单,orderitems表包含每个订单中的各项物品。下面的SQL语句检索订单号20005中的所有物品:

    输入

    SELECT prod_id,quantity,item_price
    FROM orderitems
    WHERE order_num = 20008;
    

    输出

    +---------+----------+------------+
    | prod_id | quantity | item_price |
    +---------+----------+------------+
    | RGAN01  |        5 |       4.99 |
    | BR03    |        5 |      11.99 |
    | BNBG01  |       10 |       3.49 |
    | BNBG02  |       10 |       3.49 |
    | BNBG03  |       10 |       3.49 |
    +---------+----------+------------+
    

    item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):

    输入

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

    输出

    +---------+----------+------------+----------------+
    | prod_id | quantity | item_price | expanded_price |
    +---------+----------+------------+----------------+
    | RGAN01  |        5 |       4.99 |          24.95 |
    | BR03    |        5 |      11.99 |          59.95 |
    | BNBG01  |       10 |       3.49 |          34.90 |
    | BNBG02  |       10 |       3.49 |          34.90 |
    | BNBG03  |       10 |       3.49 |          34.90 |
    +---------+----------+------------+----------------+
    

    分析:输出中显示的expanded_price列为一个计算字段,此计算为quantity*item_price。

    MySQL算术符

    操作符 说明
    +
    _
    *
    /

    如何测试计算
    SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。
    例如 SELECT 3*2;将返回6,
    SELECT Trim(‘abc’);将返回abc,
    而SELECT Now()利用Now()函数返回当前日期和时间。通过这些例子,
    可以明白如何根据需要使用SELECT进行试验。

    展开全文
  • 第十章 创建计算字段

    2018-10-23 17:02:00
    如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段: 存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据然后再在客户机应用...
    学习目的:
    如何创建计算字段以及怎样从应用程序中使用别名引用它们。
     
    计算字段:
    存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据然后再在客户机应用程序或报告程序中重新格式化。
     
    计算字段并不实际存在于数据库表中,计算字段是运行时在SELECT语句内创建的。
     
    字段(field)基本上与列(colunm)的意思相同,经常互换使用。不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
     
    拼接字段 :15:00
    拼接(concatenate)将值联结到一起构成单个值。
    Q:假如要生成一个供应商报表, 需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。
     
    A:解决办法是把两个列拼接起来。在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。
    多数DBMS使用+或||来实现拼接,MySQL则使用Concat()函数来实现。
     
    SELECT Concat(vend_name,'(',`vend_country`,')')
    FROM vendors
    ORDER BY vend_name;
    Concat()需要一个或多个指定的串,各个串之间用逗号分隔。
     
    删除数据右侧多余的空格使用函数Rtrim()。
    Ltrim()删除数据左边的空格。
    Trim()删除数据两端的空格。
     
    使用别名:
    Q:SELECT语句拼接地址字段工作做得很好,但是实际上它并没有名字,它是一个值。如果仅在SQL查询工具中查看一下结果,这并没有什么不好,但是,一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它。
     
    A:为了解决这个问题,SQL支持别名。别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。
    SELECT CONCAT(RTrim(vend_name),' (',RTrim(vend_country),')') AS vend_title
    FROM vendors
    ORDER BY vend_name;
     
    别名的其他用途,常见用途包括在实际的表列名包含不符合规定的字符(如空格)时重新命名它;在原本的名字含混或容易误解时扩充它等
     
    导出列:别名有时候也称为导出列(derived column)。
     
    执行算术计算:
    计算字段的另一种常见用途是对检索出的数据进行算术计算。
    检索订单号20005中的所有物品 ?
     
    SELECT prod_id, quantity,item_price
    FROM orderitems
    WHERE order_num = 20005;
     
    SELECT prod_id, quantity,item_price,quantity*item_price AS expanded_price
    FROM orderitems
    WHERE order_num = 20005;
     
    MySQL算术操作运算符:
    操作符
    说明
    +
     
    *
    /
     
    如何测试计算:
    SELECT通常用来从表中检索,但可以省略FROM子句以便简单地访问和处理表达式。如
    SELECT 3*2,将返回6
    SELECT Trim('abc'),将返回abc
    SELECT Now(),返回当前日期和时间。
     
     

    转载于:https://www.cnblogs.com/mumulin99/p/9837750.html

    展开全文
  • 第七课学习什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1、计算字段 计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的; 字段(field):基本上与列...

    第七课 创建计算字段

            预习与回顾:

            第六课学习了什么是通配符,如何在WHERE子句中使用SQL通配符,以及通配符的慎用;第七课学习什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。

            7.1、计算字段

     计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的;

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

            7.2、拼接字段

            拼接(concatenate):将值联结到一起(将一个值附加到另一个值)构成单个值。操作符可用加号(+)或两个竖杠(||)表示。

    输入▼
    SELECT vend_name + ' (' + vend_country + ')'
               FROM Vendors
                        ORDER BY vend_name;

           正确返回格式化的数据,必须去掉这些空格。这可以使用SQL的RTRIM()函数来完成。

    输入▼
    SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
                FROM Vendors
                          ORDER BY vend_name;

    TRIM函数
            大多数DBMS都支持RTRIM()(正如刚才所见,它去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串左右两边的空格)。

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

    输入▼
    SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
               AS vend_title
                     FROM Vendors
    ORDER BY vend_name;

    AS通常可选在很多DBMS中,AS关键字是可选的,不过最好使用它,这被视为一条最佳实践。

            7.3、执行算术计算

            对检索出的数据进行算术计算,

    输入▼

    SELECT prod_id, quantity, item_price
    FROM OrderItems
              WHERE order_num = 20008;

    检索订单号20008中的所有物品:

    输入▼
    SELECT prod_id,
                quantity,
                item_price,
                quantity*item_price ASexpanded_price
    FROM OrderItems
              WHERE order_num = 20008;

    汇总物品的价格(单价乘以订购数量):

    如何测试计算
    SELECT
    语句为测试、检验函数和计算提供了很好的方法。虽然SELECT通常用于从表中检索数据,但是省略了FROM子句后就是简单地访问和处
    理表达式,例如SELECT 3 *2;将返回6SELECT Trim(' abc ');将返回abcSELECTNow();使用Now()函数返回当前日期和时间。

             



    展开全文
  • 本文介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。下面举几个例子。 如果想在一个字段中既显示公司名,又显示公司...


    本文介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。

    计算字段

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

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

    在上述每个例子中,存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。

    这就是计算字段发挥作用的所在了。与前面各文章介绍过的列不同,计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。

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

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

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

    拼接字段

    为了说明如何使用计算字段,举一个创建由两列组成的标题的简单例子。
    在这里插入图片描述
    vendors表包含供应商名和位置信息。假如要生成一个供应商报表,需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。

    此报表需要单个值,而表中数据存储在两个列vend_name和vend_country中。此外,需要用括号将vend_country括起来,这些东西都没有明确存储在数据库表中。我们来看看怎样编写返回供应商名和位置的SELECT语句。

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

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

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

    select Concat(vend_id,'(,vend_country,)') 
    from vendors order by vend_name;
    

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

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

    通过删除数据右侧多余的空格来整理数据,这可以**使用MySQL的RTrim()**函数来完成,如下所示:

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

     select Concat(RTrim(vend_name),'(',RTrim(vend_country),')')  
     from vendors order by vend_name;
    

    在这里插入图片描述
    Trim函数 MySQL除了支持RTrim()(正如刚才所见,它去掉串右边的空格),还支持LTrim()(去掉串左边的空格)以及Trim()(去掉串左右两边的空格)。

    使用别名

    从前面的输出中可以看到, SELECT语句拼接地址字段工作得很好。但此新计算列的名字是什么呢?实际上它没有名字,它只是一个值。如果仅在SQL查询工具中查看一下结果,这样没有什么不好。但是,一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它。

    为了解决这个问题, SQL支持列别名。 别名( alias) 是一个字段或值的替换名。别名用AS关键字赋予。请看下面的SELECT语句:

     select Concat(RTrim(vend_name),'(',RTrim(vend_country),')') as vend_title  
     from vendors order by vend_name;
    

    SELECT语句本身与以前使用的相同,只不过这里的语句中计算字段之后跟了文本AS vend_title。它指示SQL创建一个包含指定计算的名为vend_title的计算字段。从输出中可以看到,结果与以前的相同,但现在列名为vend_title,任何客户机应用都可以按名引用这个列,就像它是一个实际的表列一样。

    在这里插入图片描述
    别名的其他用途 别名还有其他用途。常见的用途包括在实际的表列名包含不符合规定的字符(如空格)时重新命名它,在原来的名字含混或容易误解时扩充它,等等

    执行算术计算

    计算字段的另一常见用途是对检索出的数据进行算术计算。举一个例子, orders表包含收到的所有订单, orderitems表包含每个订单中的各项物品。下面的SQL语句检索订单号20005中的所有物品:
    在这里插入图片描述

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

    在这里插入图片描述

    item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):

     select prod_id,quantity,item_price,quantity*item_price as expanded_price 
     from orderitems where order_num = 20005;
    

    输出中显示的expanded_price列为一个计算字段,此计算为quantity*item_price。客户机应用现在可以使用这个新计算列,就像使用其他列一样。
    在这里插入图片描述
    MySQL支持如下表中列出的基本算术操作符。此外,圆括号可用来区分优先顺序。
    在这里插入图片描述
    如何测试计算 SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。

    例如, SELECT3*2;将返回6, SELECT Trim(‘abc’);将返回abc,而SELECTNow()利用Now()函数返回当前日期和时间。通过这些例子,可以明白如何根据需要使用SELECT进行试验。

    展开全文
  • MySQL数据库——创建计算字段

    千次阅读 2017-12-11 21:33:42
    本节将介绍什么事计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用他们 。 简单说,计算字段其实就是一段各个列的信息集合,这个集合实际并不存在与数据库表中吗计算字段是运行时在SELECT语句内创建的 ...
  • 第7课 创建计算字段

    2020-04-25 17:21:21
    这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,下面举几个例子。 1.需要显示公司名,同时还需要显示...
  • 本章介绍什么是计算字段,如何创建计算字段以及怎样从应用程序 中使用别名引用它们。
  • 主要介绍什么是计算字段,以及如何创建计算字段,说明了计算字段在串拼接和算术计算的用途,还学习了如何创建和使用别名
  • 什么是计算字段,如何创建计算字段,以及如何从应用程序 中使用别名引用它们。 7.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,与前几课介绍的列不同,计算字段并不实际存在于数据库表中。计算...
  • 这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1 计算字段 我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出数据,然后再在客户端应用程序中重新...
  • 第7课 创建计算字段这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。7.1 计算字段 目的:存储在数据库表中的数据一般不是应用程序所需要的格式,我们需要直接从数据库中检索出...
  • 本章介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。 比如,公司名和公司地址在不同的列,我们要把其组合在一起。 ...
  • 第七章 创建计算字段

    2017-07-06 17:00:04
    本章介绍计算字段如何创建以及从应用程序使用别名引用它们 1. 我们需要直接从数据库中检索出转换、计算或格式化过得数据。 2. 字段(field):基本上与列(column)的意思相同,经常互换使用,不过数据库列一般...
  • 让我们看一下使用报表脚本将计算字段添加到矩阵的方法示例。创建报表并将矩阵对象添加到“Data”区域。如您所知,要创建列,排水或单元格,您需要将表达式拖动到相应的区域。表达式可以是:数据字段,函数,变量,...
  • MySQL 第8章、第9章、第10章 用通配符进行过滤、用正则表达式进行搜索、创建计算字段用通配符进行过滤LIKE操作符百分号(%)通配符下划线(_)通配符使用通配符的技巧正则表达式正则表达式介绍使用MySQL正则表达式...
  • 以前CSDN上有好多人问过这个问题,但是好象没有人给出满意的答案。我也是经过好长时间摸索才找到答案,现在在这给大家分享: ...//表中有两字段SName,Birth,现在我们动态生成一个计算字段Age,显示出年龄
  • 本章介绍如何在MySQL WHERE子句内使用正则表达式来更好地控制数据过滤。
  • 语法如下,以计算字段所有行中的所有字符-selectsum(char_length(yourColumnName))ASanyAliasNamefromyourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下-mysql>...
  • 7 创建计算字段 7.1 计算字段 存储在数据库表中的数据一般不是应用程序锁需要的格式。 我们需要从数据库中检索出的,经过转换,计算,或者格式化过的数据。 只有数据库知道select语句中那些列是实际的表列,那些列...
  • 计算字段很久之前就已推出,不是最近出的新功能,本篇要讲的是如何利用计算字段来计算两个时间段之间的时间差(本文以天数举例,当然也可以小时或者分钟)。 我这里建了一个类型是整数的字段,当然你也可以建成浮点数...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 377
精华内容 150
关键字:

如何创建计算字段