SQL基础函数

时间:2022-05-05 09:25:52

首先咱们一起来看一下SQL的基本函数

一、聚合函数

二、数学函数

三、字符串函数

四、转换函数

五、时间函数

这样子看起来可能很多,那咱们给变得-----------------------------再多一点儿

一、聚合函数(AVG、SUM、MIN、MAX、COUNT)

AVG:老套路,字面意思解释,平均值。

select *from car

现在是查询car表格内的全部信息,嗯。。。。。。上图给大家看一下吧,虽然说看的不是很清楚

SQL基础函数

 select AVG(price) from car

现在咱们就是在计算在car这个表格里面的price列的平均值

SQL基础函数

SUM:求和

select SUM(price) 求和 from car

SQL基础函数

MIN:最小值

 select MIN(price) 最小值 from car

这些都可以自己查看下我做的对不对,不管方法的简单或者是复杂,只要你做对了就行,现在咱们只是一起来学习,仅此而已

MAX:最大值

 select MAX(price) 最大值 from car

SQL基础函数

COUNT:非常简单容易的可以理解为计算行数,在SQL中所写的代码都是按照列来写的,那么COUNT就是计算一共多少行的,so easy

 select COUNT(*) FROM car 

咱们先显示全部内容,咱们一起来数一下一共多少行,然后再通过方便的代码方式查出总共多少行,万一要是千万级的呢,你总不能让客户自己看下拉菜单吧

SQL基础函数

最左下角是26,代表的是行数,那咱们看下面用代码显示的结果是不是26

SQL基础函数

很显然,是正确的,是不是很简单

二、数学函数(ceiling、floor、round、PI、SQRT(开根号,知道即可)、SQUARE(平方根,同上))

ceiling:取上限,打个比方:4.1取上限那就会变成5,也就是说不管什么四舍五入,就是给你取个上线,可以理解为去掉小数点儿后给原值+1,当然,小数点后的数字一定是>0的

 select CEILING(4.0)

这个的结果就是4

 select CEILING(4.1)

这个的结果就是5

floor:取下限,实际就是给你抹除小数点儿后面所有的数字,无论你小数点儿后面有多少位

 select FLOOR(5.8731628316823)

得出的结果就是  5   ,不管你小数点有多少位

round:四舍五入,跟小学里讲的一样,只不过round后面有限制,当然是自己设置的限制

打个比方 round(price,5)这个意思就是在某个表里面的price列,算出price列里值类型数据保留小数点儿后面5位,但是四舍五入的是小数点儿后面第6位

 select ROUND(price,1) from car

SQL基础函数

喏,自己对比下就知道了

PI:其实就是圆周率,没什么大惊小怪的,但是记得必须要这样写 PI(),后面记得加英文状态下的括号,但是里面还不能有参数,否则SQL就会给你报错

 select PI()

字符串函数:(upper、lower、ltrim、rtrim、replace()、substring()、select lift/right、len)

upper:大写,把所有的英文大写

 select UPPER(name) from car

先看下原图

select name from car

SQL基础函数

上面是原始状态,现在咱们开始给name这一列的英文全部大写

 select UPPER(name) from car

SQL基础函数

lower:把所有的英文字母编程小写,不多赘述,下一个

LTRIM:去掉左边的空格

 select LTRIM('      a    a           ')

显示的就是这个样子:(a   a      )

RTRIM:去掉右边的空格

 select LTRIM('      a    a           ')

显示的样子:(      a       a)

有的人会想,怎么把中间的空格去掉,接下来睁大你们的眼睛,魔术来了,好了,不装X了,开始

 select REPLACE('ccccaccccacccc','cccc','')

显示的结果就是(aa)

substring:截取,这个跟前面的C#帖子里面讲的街区字符串用法一样,唯一的区别就是在SQL里面的字符串是从1开始,而在C#里面的字符串是从0开始,这个需要特别注意

 select substring('asdsadasd',1,3)

括号里面的内容剖析

substring('字符串',索引,需要截取的字符串的长度)

如果说咱们遇到的字符串只需要截取前几位,那上面的方法就变得很繁琐,教大家一个简单的办法,看下面

 select right ('asdadasda',3)

 select LEFT ('asdsadsadasda',7)

left 截取从左边第一位开始,截取7位

right 就是从右边截取3位

select left/right ('字符串',需要截取的位数)

LEN长度

 select LEN('kuehfojaoisdfojdadosj')

显示的结果就是长度,括号里面这个字符串的长度,21