6.计算字段 ---SQL

提示:客户端与服务器的格式
在SQL语句内可完成的许多转换和格式化工作都可以直接在客户端应用程序内完成。但一般来说,在数据库服务器上完成这些操作比在客户
端中完成要快得多。

一、拼接字段



拼接(concatenate)
将值联结到一起(将一个值附加到另一个值)构成单个值。
解决办法是把两个列拼接起来。在SQL中的SELECT语句中,可使用一个特殊的操作符来拼接两个列。根据你所使用的DBMS,此操作符可用加
号(+)或两个竖杠(||)表示。在MySQL和MariaDB中,必须使用特殊的函数。
说明:是+还是||?
Access和SQL Server使用+号。DB2、Oracle、PostgreSQL、SQLite和Open Office Base使用||

SELECT RTRIM(vend_name) + ‘ (‘ + RTRIM(vend_country) + ‘)‘
FROM Vendors
ORDER BY vend_name;
输出▼
-----------------------------------------------------------
Bear Emporium (USA)
Bears R Us (USA)
Doll House Inc. (USA)
Fun and Games (England)
Furball Inc. (USA)
Jouets et ours (France)

分析▼
RTRIM()函数去掉值右边的所有空格。通过使用RTRIM(),各个列都进行了整理。
说明:TRIM函数
大多数DBMS都支持RTRIM()(正如刚才所见,它去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串
左右两边的空格)。

二、使用别名



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

SELECT RTRIM(vend_name) + ‘ (‘ + RTRIM(vend_country) + ‘)‘
AS vend_title
FROM Vendors
ORDER BY vend_name;
输出▼
vend_title
-----------------------------------------------------------
Bear Emporium (USA)
Bears R Us (USA)
Doll House Inc. (USA)
Fun and Games (England)
Furball Inc. (USA)
Jouets et ours (France)

分析▼
SELECT语句本身与以前使用的相同,只不过这里的计算字段之后跟了文本A S vend_title。它指示SQL创建一个包含指定计算结果的名
为vend_title的计算字段。从输出可以看到,结果与以前的相同,但现在列名为vend_title,任何客户端应用都可以按名称引用这个列,就像它
是一个实际的表列一样。
说明:AS通常可选
在很多DBMS中,AS关键字是可选的,不过最好使用它,这被视为一条最佳实践。
提示:别名的其他用途
别名还有其他用途。常见的用途包括在实际的表列名包含不合法的字符(如空格)时重新命名它,在原来的名字含混或容易误解时扩充它。

警告:别名
别名既可以是一个单词也可以是一个字符串。如果是后者,字符串应该括在引号中。虽然这种做法是合法的,但不建议这么去做。多单词的
名字可读性高,不过会给客户端应用带来各种问题。因此,别名最常见的使用是将多个单词的列名重命名为一个单词的名字。
  
说明:导出列
别名有时也称为导出列(derived column),不管怎么叫,它们所代表的是相同的东西。

三、执行算术计算


SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;
输出▼
prod_id quantity item_price expanded_price
---------- ----------- ------------ -----------------
RGAN01 5 4.9900 24.9500
BR03 5 11.9900 59.9500
BNBG01 10 3.4900 34.9000
BNBG02 10 3.4900 34.9000
BNBG03 10 3.4900 34.9000

分析▼
输出中显示的expanded_price列是一个计算字段,此计算为quantity*item_price。客户端应用现在可以使用这个新计算列,就像使用其他列一
样。
SQL支持表7-1中列出的基本算术操作符。此外,圆括号可用来区分优先顺序。

四、SQL算术操作符



时间: 2024-11-06 19:14:38

6.计算字段 ---SQL的相关文章

SQL必知必会 -------- 通配符、计算字段、函数

1.LIKE操作符 1.1百分号(%)通配符 SELECT prod_id, prod_name FROM Products WHERE prod_name LIKE 'Fish%' 此例子使用了搜索模式'Fish%'.在执行这条子句时,将检索任意以Fish起头的词.%告诉DBMS接受Fish之后的任意字符,不管它有多少字符. 说明:区分大小写根据DBMS的不同及其配置,搜索可以是区分大小写的.如果区分大小写,则'fish%'与Fish bean bag toy就不匹配. 通配符可在搜索模式中的

SQL学习之计算字段的用法与解析

一.计算字段 1.存储在数据库表中的数据一般不是应用程序所需要的格式.大多数情况下,数据表中的数据都需要进行二次处理.下面举几个例子. (1).我们需要一个字段同时显示公司名和公司地址,但这两个信息存储在不同表的列中. (2).省份.城市.邮政编码存储在不同的列中(大多数情况下是这样),但邮件标签打印程序需要把它们作为一个有恰当顺序.格式的字段打印出来. (3).列数据是大小写混合的,但报表程序需要把所有的程序按大写表示出来. (4).物品订单表存储物品的价格和数量,不存储每个物品的总价格,但是

SQL语句之-计算字段

五.计算字段 1.拼接字段 MySQL:使用函数concat SqlServer:使用加号+ oracle:使用|| SELECT CONCAT(vend_name,'(',vend_country,')') FROM vendors ORDER BY vend_name 使用别名AS SELECT CONCAT(vend_name,'(',vend_country,')')  AS vend_title FROM vendors ORDER BY vend_name 2.算数计算:支持+.-.

创建计算字段

一.前言 存储在数据库中的数据一般不是应用程序所需要的格式,我们需要直接从数据库检索出转换.计算或格式化过的数据,这就是计算字段发挥作用的所在了. 二.相关术语解释 字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库一般称为列,而术语字段通常用在计算字段的连接上. 三.计算字段的三种情况 1.拼接字段 拼接(concatenate) 将值联结到一起构成单个值 在Mysql的SELECT语句中,可使用Concat()函数来拼接两个列. Mysql的独特之处  多数D

mysql必知必会--创建计算字段

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

ClientDataSet中动态添加计算字段并用计算字段显示记录的UpdateStatus

ClientDataSet中每条记录都有UpdateStatus=(usUnmodified, usModified, usInserted, usDeleted)记录该条数据是修改的,删除的,还是新增的等.有时候我们只想看修改的或新增的或删除的就可能用到这一属性.下图用计算字段显示UpdateStatus状态. ********************************************************************************************

计算字段示例

计算字段示例 ArcGIS 10 使用键盘输入值并不是编辑表中值的唯一方式.在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算.您可以对所有记录或选中记录执行简单计算和高级计算.此外,还可以在属性表中的字段上计算面积.长度.周长和其他几何属性.以下各部分包括使用字段计算器的若干示例.计算可以通过 Python 或 VBScript 执行. Python 是 ArcGIS 建议使用的脚本语言.如果要访问地理处理功能(包括要素几何),请使用Python.采用 Python 作为

使用XtraReport的CalculatedFiled(计算字段)实现RDLC报表中表达式

DevExpress报表确实强大,花样繁多,眼花缭乱. 这次使用XtraReport开发报表,很多问题在官方的文档中并没有详细的说明,特此记录. 1.XtraReport中FormattingRules属性是只能返回bool值的条件(Condition)判断,而不是我想要的表达式. 2.根据XtraReport官方文档中拖控件的方式创建的CalculatedFiled才是我想要的表达式. 1>拖控件的方式不灵活,而且XtraReport对象的DataSource(数据源)使用的DataSet类型

第十章 创建计算字段

1.mysql中char 和 varchar的区别: char的总结: char最大长度是255字符,注意是字符数和字符集没关系.可以有默认值,尾部有空格会被截断. varchar的总结: varchar的最大长度65535是指能存储的字节数,其实最多只能存储65532个字节,还有3个字节用于存储长度.注意是字节数这个和字符集有关系.一个汉字字符用utf8占用3字节,用gbk占用2字节.可以有默认值,尾部有空格不会截断 2.计算字段是运行时在select语句内创建的,从客户机(应用程序)角度来看