数学函数,字符串函数,聚合函数

1、

--数学函数;ABS(-8)绝对值、ceiling(3.12) 取上线、floor取下限、power(2,3)几次方、
--round()四舍五入
--sqrt开平方根、squar平方

--字符串函数
--ASCII 返回字符串最左边的字符ascii码
select ASCII(‘name‘)
select ASCII(name)from biao--查看所有人名的首字符的ascii码
--char 将ascii码转换成字符
select CHAR(70)
select CHAR(yuwen)from biao--讲所有语文分数转换成字符
--注意,(整数)所转换的表达式或者常量需要在0-256之间,超出的话输出n

--LEN 返回字符串的长度
select LEN(‘asdfghh‘)
select LEN(name)from biao --显示所有姓名的长度

--charindex 返回字符串首个字符出现在某个字符串从头开始为几的索引
select CHARINDEX(‘d‘,‘asdfghhjkkhg‘)--索引从1开始
select CHARINDEX(‘1990‘,birth) from studant --查看在生日里面出现的索引

--difference 返回相似度 用0——4表示相似度
select DIFFERENCE(‘asddfghjk‘,‘adfjkgh‘)
--LEFT 表示从左边截取字符串
select LEFT(‘asfgdsssdgh‘,4)

--RIGHT 从右边
select right(‘asfgdsssdgh‘,4)

--lower 全部转化成小写
select LOWER(‘asfasdgsgDDFQWEG‘)
--upper 大写
select upper(‘asfasdgsgDDFQWEG‘)

--Ltrim 去掉左边的空格
select LTRIM(‘ asd ‘)
--Rtrim 去掉右边的空格
select RTRIM(‘ asd ‘)

--patindex 相当于charindex 返回字符串所在字符中的首字符索引位
select PATINDEX(‘%df%‘,‘ssdfghss‘)

--Replace 查找替换
select REPLACE(sex,‘女‘,‘姑娘‘)from biao--只显示,不更改
--replicat 复制粘贴
select REPLICATE(‘asd ‘,3)
--reverse 翻转
select REVERSE(‘asdfgghjk‘)

--space 空格
select ‘a‘+SPACE(5)+‘bc‘

--str 强制转换成字符串
select STR(123456.222,5,1)--参数1是需要转换的数值,参数2是转换之后保留的长度
--参数3是小数点后需要保留的位数
--注意,参数2在小于参数1整数部分位数时无法转换

--stuff
--从第几个索引的位置,看看需不需要向后删除几位,然后将需要插入的内容插入
--参数1是需要被插入的字符串
--参数2是从第几个索引开始
--参数3是是否需要向后删除几个字符
--参数4是新插入的字符
select STUFF(‘asddfg‘,3,2,‘HELLO‘)

--substring
--截取字符串
--参数1是被截取的字符串
--参数2是从哪个索引开始
--参数3是截取的长度
select SUBSTRING(‘asdfghjjgfddrtyy‘,4,5)

2、

--查询全部
select * from student
--查询李四的所有信息
select * from student where name =‘李四‘
--查询李四的成绩
select score from student where name = ‘李四‘
--添加一条数据(若之前有删除数据的情况,就会放在从头开始删除数据的第一行)
insert into student values(7,‘铃铛‘,‘1993-4-5‘,‘男‘,79)

--给张全蛋改名
update student set name=‘李狗蛋‘where name =‘张全蛋‘
--给铃铛改性别
update student set sex =‘女‘ where name =‘铃铛‘

--赵六转学
delete from student where name =‘赵六‘

--排序,升序
select * from student order by score
--降序
select * from student order by score desc
--只要最高分
select top 1 * from student order by score desc
--只要最低分
select top 1 * from student order by score

--查看所有学生姓名(利用as另起别名显示)
select name as 学生姓名 from student
--查看所有学生的姓名和分数(另起别名)
select name as 学生姓名,score as 分数 from student

--查看所有姓王的学生的所有信息(模糊查询)
select * from student where name like ‘王%‘
--查看所有1993年的学生的所有信息
select * from student where birth like ‘1993%‘
--查看所有生日最后一天带6的学生的信息
select * from student where birth like ‘%6‘
--查看姓名中间字为狗的学生的所有信息
select * from student where name like ‘%狗%‘
--查看姓李的并且名字只有两个字的学生的所有信息
--下划线模糊查询,只代表一个字符(不常用)
select * from student where name like ‘李_‘

--查看分数在80以上的学生的所有信息
select * from student where score >=80
--查看60-80之间分数的所有学生信息
select * from student where score between 60 and 80
--查看分数低于60的学生的姓名
select name as 学生姓名 from student where score <60

--修改分数在70-80之间的所有学生的sex=男
update student set sex =‘男‘ where score between 70 and 80

--计算345678 + 789456
select 345678+789456

--查询所有人名 distinct 去重
select distinct name from student
--查看有几个性别
select distinct sex from student

--in in后面的括号中是用来判断是否有此(条件)的,可以看做是元素
--查看姓名为李狗蛋和铃铛的所有信息
select * from student where name in(‘李狗蛋‘,‘铃铛‘)

--引号里面括号外加下划线,意思是选择里面任意一个值,不常用
select * from student where name like‘_[李狗蛋,铃铛]‘

--聚合函数:sum avg max min count
--求所有分数的总和
select SUM(score) as 总和 from student

--求所有分数的平均分
select AVG(score) as 平均分 from student

--查看最高分
select MAX(score) as 最高分 from student
--查看最低分
select MIN(score) as 最低分 from student

--查看总人数
select COUNT(*) as 总人数 from student
--查看叫李四的有几个
select COUNT(*) as 数量 from student where name =‘李四‘

--group by 分组
--按照男女来分组
select sex from student group by sex
--按照男女来分组,分组之后求平均分
select sex as 性别 , AVG(score) as 平均分 from student group by sex
--分别查看男女的数量
select sex as 性别, COUNT(*) as 人数 from student group by sex
--分别查看男女,并且分数在70以上的人的个数
select sex as 性别, COUNT(*) as 人数 from student where score >=70 group by sex
--分别查看男女,并且分数在70以上的并且人数超过3个的组
select sex as 性别, COUNT(*) as 人数 from student where score >=70 group by sex having COUNT(*)>3

--按照男女来分组,分组之后求平均分,并且平均分>70
select sex as 性别 , AVG(score) as 平均分 from student group by sex having AVG(score)>70

3、实例

create table cangku
(
code int,
name varchar(50),
zong int,
price decimal(18,2)
)
go
insert into cangku values(1,‘苹果‘,30,2.9)
insert into cangku values(2,‘梨‘,30,2)
insert into cangku values(3,‘西瓜‘,37,1.9)
insert into cangku values(4,‘馒头‘,30,1)
insert into cangku values(5,‘猪肉‘,20,5)
insert into cangku values(6,‘茄子‘,45,3.6)
insert into cangku values(7,‘黄瓜‘,60,2.4)
insert into cangku values(8,‘白菜‘,30,0.8)
insert into cangku values(9,‘哈密瓜‘,70,3)
insert into cangku values(10,‘南瓜‘,30,1.89)
--卖掉了第3种产品3个
update cangku set zong=34 where code=3
--卖掉第4种产品7个
update cangku set zong=23 where code=4

--卖掉第5种产品5个
update cangku set zong=15 where code=5

--查看现在货物库存最少的商品全部信息
select top 1* from cangku order by zong
--货物最少的商品进货补齐30件
update cangku set zong=30 from cangku where code=5
--现在第3种,第4种,第5种产品都涨价一块
update cangku set price=price+1 from cangku where code in(3,4,5)
--第6种第7种第8种统统减价一块
update cangku set price=price-1 from cangku where code in(6,7,8)

--卖掉了第6种产品3个
update cangku set zong= zong-3 from cangku where code=6
--卖掉第7种产品3个
update cangku set zong= zong-3 from cangku where code=7
--卖掉第8种产品9个
update cangku set zong= zong-9 from cangku where code=8
--查看现在货物库存最少的商品全部信息
select top 1* from cangku order by zong
--货物最少的商品进货补齐30件
update cangku set zong=30 from cangku where code=5
select*from cangku

时间: 2024-10-17 05:48:47

数学函数,字符串函数,聚合函数的相关文章

窗口聚合函数与分组聚合函数的异同

窗口聚合函数与分组聚合函数的功能是相同的:唯一不同的是,分组聚合函数通过分组查询来进行,而窗口聚合函数通过OVER子句定义的窗口来进行. --<T-SQL性能调优秘笈---基于SQL Server2012窗口函数>2.1.1窗口聚合函数描述

SQL LEN() 函数 ,case when,聚合函数的用法

SELECT aa.[User_Id],cc.[User_Name],dd.Name AS DepName,aa.Module_Id,aa.Module_Name, SUM(CASE aa.Operate_Type WHEN '2' THEN OperateNum END ) AS 'AddNum', SUM(CASE aa.Operate_Type WHEN '3' THEN OperateNum END ) AS 'EditNum' , SUM(CASE aa.Operate_Type WH

SQL LEN() 函数 ,case when,聚合函数的使用方法

SELECT aa.[User_Id],cc.[User_Name],dd.Name AS DepName,aa.Module_Id,aa.Module_Name, SUM(CASE aa.Operate_Type WHEN '2' THEN OperateNum END ) AS 'AddNum', SUM(CASE aa.Operate_Type WHEN '3' THEN OperateNum END ) AS 'EditNum' , SUM(CASE aa.Operate_Type WH

10-31C#基础--数据库查询语句之聚合函数、分组

在查询语句时,也存在一些方法和属性,而这些方法在查询时统称为函数,便利查询时使用 聚合函数(都是针对字段操作) 聚合是缩减一系列输入值的表达式,例如缩减为单个值. Select*from biao 1.--求平均分AVG:只能对数字类型的操作,返回一个值(返回非null值的平均值) Select AVG(age)from biao--执行后没有列名 Select AVG(age) as nianing from biao---执行后有列名,加as. --放在select...from之间的一定是

Android数据库高手秘籍(八)——使用LitePal的聚合函数

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40614197 在上一篇文章当中,我们已经把LitePal查询操作的所有用法都学习完了,很显然,LitePal帮我们提供了非常强大的查询API,使得我们可以极度轻松地完成各种类型的查询.但是呢,在SQL语句当中,有一种查询是比较特殊的,就是聚合函数查询,它不像传统查询一样是将表中的某些列的数据查询出来,而是将查询结果进行聚合和统计,最终将统计后的结果进行返回.因此,任何一个关系型数

C#写的SQL聚合函数

SQL Server 字符串连接聚合函数. 注册程序集: 拷贝“SqlStrConcate.dll”至<sql安装根目录>/MSSQL.1/MSSQL/Binn目录下,执行下面的SQL: CREATE ASSEMBLY [SqlStrConcate] AUTHORIZATION [dbo] FROM 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/SqlStrConcate.dll' WITH PERMISSION_SET =

2018-07-10聚合函数+比较条件+&#39;&#39;和NULL+DISTINCT+ORDER BY+LIMIT+GROUP BY

''表示空字符串! NULL表示值未知! %表示任意个字符 _表示一个字符 COUNT(*)包括NULL值(会把所有列都统计一遍,取最大值)! COUNT(字段)不包括NULL值! SELECT * FROM PRODUCT //查询所有列,*表示所有列! SELECT PRO_NAME,PROTYPE_ID FROM PRODUCT //只查询其中两列! SELECT PRO_NAME AS 产品名称,PRICE AS 价格 FROM PRODUCT //用AS给字段添加别名! SELECT

Spark 系列(十一)—— Spark SQL 聚合函数 Aggregations

一.简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json"

sql中的 开窗函数over() 聚合函数 排名函数

开窗函数与聚合函数一样,都是对行的集合组进行聚合计算.它用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列.反正我理解这个函数已经使用好子查询或者是其它方式求得聚合列的值给我合并. 以书中的例子一步一步来介绍,假设要计算所有人员的总数,我们可以执行下面的SQL语句: SELECT COUNT(FName) FROM T_Person 这种方式比较直接,只返回一个聚合列的值,没有任

MySQL学习19:运算符与函数之信息函数、聚合函数、加密函数

信息函数 常用的信息函数有: (1)查看数据库连接ID和当前数据库 SELECT CONNECTION_ID(); SELECT DATABASE(); (2)查看最后输入记录的ID号 ALTER TABLE test ADD id SMALLINT UNSIGNED KEYAUTO_INCREMENT  FIRST; INSERT test(first_name,last_name) VALUES('11','22'); SELECT LAST_INSERT_ID(); SELECT * FR