sql语句补充(二)

本文介绍了SQL中的计算字段概念,包括如何通过拼接字段、执行算术计算以及利用各种数据处理函数,如CONCAT、RTrim、LEFT等,对数据进行格式化和转换。还提到了时间处理函数和数值函数的使用,并探讨了SQL聚集函数如SUM在汇总数据时的作用。此外,别名的使用使得查询结果更易读。通过实例展示了如何在实际操作中提高SQL查询的效率和实用性。
摘要由CSDN通过智能技术生成

创建计算字段
1.计算字段
1、存储在数据库表中的数据一般不是应用程序所需要的格式。大多数情况下,数据表中的数据都需要进行二次处理。下面举几个例子。

(1)、我们需要一个字段同时显示公司名和公司地址,但这两个信息存储在不同表的列中。

(2)、省份、城市、邮政编码存储在不同的列中(大多数情况下是这样),但邮件标签打印程序需要把它们作为一个有恰当顺序、格式的字段打印出来。

(3)、列数据是大小写混合的,但报表程序需要把所有的程序按大写表示出来。

(4)、物品订单表存储物品的价格和数量,不存储每个物品的总价格,但是打印发票需要物品的总价格。上述的例子中,存储在表中的数据都不是应用程序所需要的,我们需要从数据中检索出来、并转换、计算或格式化过的数据。而不是检索出来,再到客户端进行初始化。

2.拼接字段
就是要让你查找的时候利用Concat把几个字段的内容合起来。
例如:
在这个表中,我们要将sname为李嘉欣的sname字段以及bplace字段连起来,凑成一个新的字段。在这里插入图片描述

SELECT CONCAT(‘来自’,bplace,‘的’,sname,‘是一个可爱的女孩’) AS ‘描述’
FROM students WHERE sname = ‘李嘉欣’;

在这里插入图片描述
在MySQL数据库中,字段的限定长度可能会比实际占用长度稍微要大那么一点,那么为了保证使用concat之后不会导致中间有许多空格,我们可以使用RTrim()函数来去掉右边目标数据右边多余的空格。

使用别名
在sql语句中,别名可谓起到了很大很大很大的作用,就拿上面举的那个例子来说,没有使用别名来修改他的字段,那么他那个字段的名称就会是你写的那个函数,然后辨析度和引用起来就特别麻烦。下面就是不用别名时的运行结果。是不是看着就觉得很奇怪。
在这里插入图片描述
但使用别名最主要的目的还是方便引用它。

3.执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。
没错,这个就和我们平常的加减乘除啥的挺像的。我直接拿书上的例子来吧。
在这里插入图片描述
这边书上是利用了SELECT语句获取了几件商品的基本信息,然后我们准备拿这些个商品的基本信息来一波汇总,也就是计算每种商品的总价值。
在这里插入图片描述
也就是它在查询商品基本信息的基础上,用操作符*给新加了一个数据列,也就是那个expanded_price。根据数据,我们可以很明显的看到expanded_price字段下的值就等于它对应的quantity字段和item_price字段的乘积。

数据处理函数
挺有用的一部分,反正写sql题的时候用得挺舒服的。

主要分为四种
文本处理函数

函 数说 明
Left()返回串左边的字符
Length()返回串的长度
Locate()找出串的一个子串
Lower()将串转换为小写
LTrim()去掉串左边的空格
Right()返回串右边的字符
RTrim()去掉串右边的空格
Soundex()返回串的SOUNDEX值
SubString()返回子串的字符
Upper()将串转换为大写

乌拉乌拉,其实我也没怎么用过,主要是学习记录下来。
时间处理函数
在这里插入图片描述
嘿嘿,突然发现直接用书上的图,他不香吗。
时间类型的数据要注意的地方大概是,比较的时候,你要先把你的时间数据,例如2005-09-01这样的,先用date()函数转化一下,再去比,具体没咋个弄懂。

数值函数
也是sql语句中比较常用到的一部分,下面是常用的数值函数
在这里插入图片描述

系统函数
系统函数的话,感觉一般都用不到,水了水了,反正我也不会。

SQL聚集函数
顾名思义,就是将一部分数据给整到一块去,比如sum()就是把一部分字段的值给加起来。
在这里插入图片描述
具体的操作,还需要不断的实践,写sql语句真的挺有意思的,要是效率更高就更好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值