• 创建计算字段


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

    Vendors表包含供应商名和地址信息。假如要生成一个供应商报表,需要在格式化的名称(位置)中列出供应商的位置。

    此报表需要一个值,而表中数据存储在两个列vend_namevend_country中。此外,需要用括号将vend_country括起来,这些东西都没有存储在数据库表中。这个返回供应商名称和地址的SELECT语句很简单,但我们是如何创建这个组合值的呢?

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

    解决办法是把两个列拼接起来。在SQL中的SELECT语句中,可使用一个特殊的操作符来拼接两个列。根据你所使用的DBMS,此操作符可用加号(+)或两个竖杠(||)表示。在MySQL和MariaDB中,必须使用特殊的函数。

    说明:是+还是||
    Access和SQL Server使用+号。DB2、Oracle、PostgreSQL、SQLite和Open Office Base使用||。详细请参阅具体的DBMS文档。

    下面是使用加号的例子(多数DBMS使用这种语法):

    输入▼

    SELECT vend_name + ' (' + vend_country + ')'
    FROM Vendors
    ORDER BY vend_name;
    
    说明:TRIM函数
    大多数DBMS都支持RTRIM()(正如刚才所见,它去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串左右两边的空格)。

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

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

    输入▼

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

    表7-1 SQL算术操作符

    操 作 符说  明
    +
    -
    *
    /

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

  • 相关阅读:
    浏览器兼容性问题
    浏览器对象的属性和方法
    js总结体会
    css样式总结体会
    HTML标签类总结
    如何自动化实现二级域名访问,类似博客
    php
    require.js
    gulp
    javascript
  • 原文地址:https://www.cnblogs.com/qook/p/4897870.html
Copyright © 2020-2023  润新知