SQLserver中常用的函数及实例

聚合函数

as是可以起别名的,在select和from之间的是表示列名,可以不加单引号)(聚合函数中的count不仅能对数字进行操作还能对字符型进行操作,其余的只能对数字操作)

最小值

select  MIN(jiage) as 价格 from shuiguo --求最低价格

select  MIN(jiage) as 价格 from shuiguo --求最低价格

最大值

select MAX(jiage) as 价格 from shuiguo --求最高的价格

总数

select COUNT(*) from shuiguo--查表中一共有多少个数据

select COUNT(*) from shuiguo where chandi like ‘海%‘--产地是海开头的有几个

select COUNT(distinct chandi) from shuiguo --去重之后查个数

平均值

select AVG(jiage) as 平均价格 from shuiguo--求平均价格

总和

select SUM(jiage) as 价格 from shuiguo --求总和

也可以并排一起写,如:

select COUNT(name) as 水果个数 ,SUM(jiage) as 价格总和 from shuiguo

字符串函数

select ASCII(‘‘)--返回字符串首字母ascii编码

select * from haha where ASCII(name)>200

select CHAR(100)--将ascii代码转换成对应的字符(ascii码对应的类型是int)

select CHARINDEX(‘sdf‘,‘asdfg‘)--查找字符串,返回符合条件的首字母索引,索引从开始,返回表示没有找到

select left(‘asdfg‘,3)--从左往右截取字符串指定长度

--结果为(asd)

select RIGHT(‘asdf‘,3)--从右往左按指定个数截取长度

--结果为sdf

select LEN(‘ asd    ‘)--返回字符串长度,后面的空格不计算

select LOWER(‘AsDf‘)--将大写字母转换成小写字母

select UPPER(‘asdA‘)--将小写字母转换成大写字母

select LTRIM (‘     aaaaaaaaa    a‘)--去除字符串左边的空格,字符串中间的空格去不掉

select RTRIM (‘a              ‘)--去除右边的可空格

select REPLACE(列名,替换前的内容,替换后的内容)--replace替换只是在显示的时候替换,对原数据不做修改

select REPLICATE(‘asd‘,3)--replicate为复制,前面是要复制的内容,后面是要复制几次

select REVERSE(1123)--reverse为翻转

select SPACE(7)--space表示打印空格,参数表示打印几个空格

select STR(小数的原数据,字符串的长度,截取小数点后几位)--小数点也算一个字符  --select STR(5672.1234,8,2)结果为5672.12

select STUFF(‘asdfghjk‘,3,0,‘12345‘)    表示的意思是:12345插在d之后,0表示fghjk不删除,如果是1则删除f,2删除fg,以此类推

select SUBSTRING(列名,要截取开始的位数,截取几位)--要截取开始的位数的索引是从开始,索引从1开始

日期和时间函数

select DATEADD(YEAR, 1,‘2003-12-3‘)--指定日期加入一个时间段

select DATEDIFF(yyyy,‘2001-12-5‘,‘2012-12-12‘)--求时间差,可以指定类型来算

--年year 月month 日day 时huor 分minute 秒second

select DATEPART(MM ,‘2013-1-15‘)  ----获取当前月,只是datename是返回的字符串型,detapart时返回的int型

select GETDATE() --获取服务器当前时间

select ISDATE(‘2014-11-12‘)--判断是否是时间如期,如果时间正确返回,错误返回

select YEAR(‘2012-12-12‘)--select后可跟年、月、日

数学规范函数

ceiling()取上限,小数点后有值就进

floor()取下限,不管小数点后有没有值,都舍掉

power(3,2)--表示3的2次方

round(1.2345,0) 后面参数是代表四舍五入到小数点后第几位

sqrt()平方根

square()求平方

附加  group by 与order by的区别 

【要区分group by 与 order by】

Group by 函数的作用是分组

Order by 函数的作用是排序

组合

select banji from xinxibiao   group by banji--分组

select banji,COUNT(*) from xinxibiao group by banji having COUNT(*)>4--having后只能加聚合函数,having是针对统计好的结果进行筛选,所以使用having的前提必须使用group by

--顺序:先是where条件,没有where的找from,后是group by ,再是select后的条件,最后是having

select banji,count(*) from xinxibiao where yuwen>=75 group by banji order by COUNT(*) desc--每个班级语文成绩大于的有几个人,班级并降序排列

select banji ,AVG(yuwen) from xinxibiao group by banji--分组之后并求平均分

select banji as 班级 ,MAX(yuwen) as 语文,MAX(shuxue) as 数学,MAX(yingyu) as 英语 from xinxibiao group by banji  --求每班每科的最高分

时间: 2024-08-05 06:48:18

SQLserver中常用的函数及实例的相关文章

分享 SqlServer中常用且实用的几个数值处理自定义函数

--数字处理的几个常用自定义Sql函数 --小数开头没有0和末尾多余0处理 CREATE function [dbo].[FormatFloat](@dec decimal(18,10)) returns varchar(30) as begin declare @inValue varchar(30); set @inValue = (CONVERT(decimal(18,10),@dec)); declare @returnValue varchar(30) if(@inValue='')

Mysql中常用的函数汇总

Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回值e(自然对数的底)的x次方floor(x) 返回小于x的最大整数值greatest(x1,x2,...,xn)返回集合中最大的值least(x1,x2,...,xn) 返回集合中最小的值ln(x) 返回x的自然对数log(x,y)返回x的以y为底的对数mod(x,y) 返回x/y的模(余数)pi(

SQLSERVER中的 CEILING函数和 FLOOR函数

--SQLSERVER中的 CEILING函数和 FLOOR函数 --ceiling函数返回大于或等于所给数字表达式的最小整数. --floor函数返回小于或等于所给数字表达式的最大整数. --比如: --celling(12.1) 结果为 13 SELECT CEILING(12.2) --floor(12.1)结果为 12 SELECT FLOOR(12.3)

SQL点滴30—SQL中常用的函数

原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很详细. 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lowe

re模块中常用功能函数

re模块中常用功能函数 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数

python 迭代器 itertools模块中常用工具函数

迭代器 itertools模块中常用工具函数,提供了接近二十个迭代器工具函数. 原文地址:https://www.cnblogs.com/bcyczhhb/p/11809842.html

SQLserver中常见的函数

---字符中操作函数 UPPER(S) 将字符串统一为大写字母 SELECT UPPER('asasA') --ASASA LOWER(S) 将字符串统一为小写字母 SELECT LOWER('asasA') ---asasa LEN(S) 返回字符串的长度 SELECT LEN('中国1号') --4 CHARINDEX(S1,S2) 返回S1在字符串S2中的位置 SELECT CHARINDEX('aa1号','1111aa1号中国1号') --5 SUBSTRING(S,I,N) 在S字符

在PHP编程中常用的函数

<?php//===============================时间日期===============================//y返回年最后两位,Y年四位数,m月份数字,M月份英文.d月份几号数字,D星期几英文$date=date("Y-m-d");$date=date("Y-m-d H:i:s");//带时分秒 //include,include_once.require,require_once//require("file

SQLServer中间接实现函数索引或者Hash索引

本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后做查询,如果使用函数或者其他方式作用在字段上之后,就会限制到索引的使用,不过我们可以间接地实现类似于函数索引的功能.另外一个就是如果查询字段较大或者字段较多的时候,所建立的索引就显得有点笨重,效率也不高,就需要考虑使用一个较小的"替代性"字段做等价替换,类似于Hash索引,本文粗浅地介绍两