欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL (六)创建计算字段

程序员文章站 2022-07-14 10:01:43
...


SQL (六)创建计算字段

计算字段

SQL (六)创建计算字段

  • 计算字段和列类似,经常互换使用,但是数据库中说列更准确,而计算字段是在SELECT语句内创建的。
  • 只有服务器的数据库知道select语句中哪些列是表列,哪些是计算字段,客户端的应用程序不知道,他觉得都一样。
  • 虽然客户端的应用程序可以完成所有的格式转换等工作,但是在服务器端完成要快得多。所以不要在客户端做。

拼接字段

SQL (六)创建计算字段

示例1:as关键字赋予计算字段一个别名

mysql不能用+或者双竖杠||,要用concat函数

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

as vend_title指示SQL创建一个包含计算结果的名字为vend_title的计算字段。注意vend_title并不是一个列名哦
SQL (六)创建计算字段

SQL (六)创建计算字段
as后面的标识符叫做别名,alias。
SQL (六)创建计算字段
SQL (六)创建计算字段

不建议把别名设置为一个中间有空格的字符串,最好是单个单词。

可以看到,concat函数还帮助去掉了空格,如果用+或||,还需要自己用trim函数,或者rtrim,ltrim函数去掉左右两边的空格,右边的空格,左边的空格。
SQL (六)创建计算字段
SQL (六)创建计算字段SQL (六)创建计算字段SQL (六)创建计算字段

算术运算

SQL (六)创建计算字段

示例

先显示订单号20008中的所有产品

select prod_id, 
quantity, 
item_price
from OrderItems
where order_num = 20008;

SQL (六)创建计算字段
计算这个订单中每个产品的总价:单价乘以数量

select prod_id, 
quantity, 
item_price,
quantity*item_price as expanded_price
from OrderItems
where order_num = 20008;

SQL (六)创建计算字段

expanded_price是一个计算字段,由as指定别名,客户端的应用就可以用这个新的计算列了。

SQL算术操作符

SQL (六)创建计算字段
SQL (六)创建计算字段

示例:用select语句进行算术计算

select 4 * 5;

SQL (六)创建计算字段
去掉右边的空格

select rtrim('abd   ');

SQL (六)创建计算字段
去掉左边的空格

select ltrim('  abd   d');

SQL (六)创建计算字段
去掉两边的空格

select trim('  abd   d ');

SQL (六)创建计算字段
返回当前时间

select now();

SQL (六)创建计算字段

select 10 / 4;

SQL (六)创建计算字段

总结

  • as关键字用于给新创建的计算字段起别名
  • 要在服务器端完成计算再通过网络传给客户端应用程序
  • concat函数实现把两列甚至更多列拼接为一个有格式的字段
  • 可以用不带from子句的select语句完成计算
相关标签: 数据库