数据库-创建计算字段

拼接字段、别名、计算字段

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

拼接字段

利用简单的计算字段来实现两个列相拼接的目的。 例如:

SELECT vend_name + '('+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 )

这段程序成功地将供应商的名字和地址联系起来,放在一列中,将其显示出来。 而且这个方式会将很多空格也一起加入进去,会让你看的很不舒服。

别名

利用这个方法我们将两个字段用一列来输出出来,而这个列并不存在列名,因为你把两个列合并在了一起所以在输出时并不可能将两个列名也合并在一起,这个新列的列名只是一个值,但是一个未命名的列不能用于客户端应用中,因为客户端无法引用它。 而我们也可以给这个新列,取一个别名,利用这样的方式我们给新组合而成的列取一个列名。

利用AS来为新创建的一列附上新的列名。

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

这样,我们就将新组成的列,用一个别名来为其命名,使其能够更好的完成调用。

对于别名我解释一下,它可以是一个单词,也可以是一个字符串,而字符串命名的时候应该括在引号中,但不建议用字符串取名字,因为利用单词命名的话,可读性更高,不会给客户端应用带来什么麻烦。

输出计算字段

我们绕了这么一大圈只是为了更好的将我们想要的数据,输出成我们想要的方式,例如单价*数量=总价,但这种东西在我们自己的程序中怎样实现呢,我们一起来看一个例子。

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

这段程序就将我们的计算字段完美体现出来,利用别名将其单独分成一列表达出来。 利用最简单的运算符就能得到我们想要的数据。

Posts in this Series