mysql 计算字段 学习笔记

存储在数据库表中的数据一般不是应用程序所需要的格式。

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

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

只有数据库知道SELECT语句中那些列是实际的表列,哪些是计算字段,从客户端来看,计算字段的数据与其他列的数据的返回方式相同。

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

拼接字段(将值联结到一起(将一个值附加到另一个值)构成单个值)
mysql中需要用特殊的Concat函数
SELECT Concat(vend_name, '(', vend_country, ')') FROM Vendors ORDER BY vend_name;

不少数据库保存填充为列宽的文本值,而实际上你要的结果不需要这些空格。RTRIM函数去除右边的空格。
SELECT Concat(RTRIM(vend_name) , '(', RTRIM(), ')') FROM Vendors ORDER BY vend_name();

TRIM函数 RTRIM(去掉右边的空格) LTRIM(去掉左边的空格) TRIM(去掉左右的空格)

使用别名 AS

SELECT Concat(RTRIM(vend_name), '(', RTRIM(vend_country), ')') AS vend_title FROM Vendors ORDER BY vend_name;
现在名为vend_title的计算字段,任何客户端应用都可以按名称引用这个列,就像它是一个实际存在的表列一样。

执行算术计算
SELECT prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM OrderItems WHERE order_num = 20008;

如何测试计算
SELECT语句为测试,检验函数和计算提供了很好的方法,虽然SELECT通常用于从表中检索数据,但是省略了FROM后就是简单的访问和处理表达式。SELECT 3 * 2;
SELECT NOW();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值