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 CHAR(100)--将ascii代码转换成对应的字符(ascii码对应的类型是int)
select CHARINDEX('sdf','asdfg')--查找字符串,返回符合条件的首字母索引,索引从1开始,返回0表示没有找到
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 --求每班每科的最高分
SQLserver中常用的函数及实例的更多相关文章
- (转)笔记320 SQLSERVER中的加密函数 2013-7-11
1 --SQLSERVER中的加密函数 2013-7-11 2 ENCRYPTBYASYMKEY() --非对称密钥 3 ENCRYPTBYCERT() --证书加密 4 ENCRYPTBYKEY() ...
- jQuery中常用的函数方法
jQuery中常用的函数方法总结 Ajax处理 load(url,[data],[callback]) url (String) : 待装入 HTML 网页网址. data (Map) : (可选) ...
- string中常用的函数
string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...
- SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
- Mysql中常用的函数汇总
Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...
- SQLSERVER中的 CEILING函数和 FLOOR函数
SQLSERVER中的 CEILING函数和 FLOOR函数 --SQLSERVER中的 CEILING函数和 FLOOR函数 --ceiling函数返回大于或等于所给数字表达式的最小整数. --fl ...
- 【转载】Sqlserver中使用Round函数对计算结果四舍五入
在实际应用的计算中,很多时候我们需要对最后计算结果四舍五入,其实在Sqlserver中也有对应的四舍五入函数,就是Round函数,Round函数的格式为Round(column_name,decima ...
- jQuery中常用的函数方法总结
jQuery中为我们提供了很多有用的方法和属性,自己总结的一些常用的函数,方法.个人认为在开发中会比较常用的,仅供大家学习和参考. 事件处理 ready(fn) 代码: $(document).rea ...
- SQLServer中间接实现函数索引或者Hash索引
本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后 ...
随机推荐
- C++学习笔记(八):函数重载、函数指针和函数对象
函数重载 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数.重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于 ...
- Java获取时间与系统时间相差8小时终极解决方案
一.在取日期以前设置一下时区 TimeZone tz = TimeZone.getTimeZone(“ETC/GMT-8″);TimeZone.setDefault(tz); 此种方法适用于单次快速获 ...
- 学习 MFC之 工具栏(二)
对于InitToolBar()函数进行进一步解析: 1.首先声明一个全局对象: CToolBar m_toolbar; 2.然后用create()创建toolbar: //创建ToolBar工具条 ...
- Linux下嗅探密码拿下服务器(转自MSX)
目标:www.xxx.com 0x01 主站踩点 下载 (57.45 KB) 前天 14:28 主站dedecms 目前公布的0day没有一个能用的,并且后台不是默认的,google hack无果. ...
- 用JDBC编程的执行时错误及其解决大全
用JDBC编程的执行时错误及其解决 用JDBC编程的执行时错误及其解决 源码: .java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlser ...
- POJ_1365_Prime_Land
//懒得解释 #include <iostream> #include <cstring> #include <cmath> #include <cstdio ...
- Linux下批量改动名字方法
如果任务是把文件夹下全部的.log后缀文件名称中的2014去掉. 方法一) 脚本 这样的方法通过ls把当前文件夹下全部的文件进行遍历,然后获取文件名称,进行mv操作.例如以下: #!/bin/sh f ...
- C++中名字隐藏,名字查找优先于类型检查
题目 C++中名字隐藏是什么? 解答 让我们通过一个例子来讲解C++中的名字隐藏.在C++中,如果一个类里有一个重载的方法, 你用另一个类去继承它并重写(覆盖)那个方法.你必须重写所有的重载方法, 否 ...
- mysql控制流程函数
1.case语句 select case 2 when 1 then '男' when 2 then '女' else 'xoap' end as result; 2.if语句 select if(1 ...
- Android(java)学习笔记130:ProgressBar使用的
首先我们看例程如下: 1.main.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <Line ...