SQL函数汇总大全
聚合函数对一组值计算后返回单个值。除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null)。所有的聚合函数均为确定性函数。即任何时候使用一组相同的输入值调用聚合函数执行后的返回值都是相同的,无二义性.
1:AVG(表达式)
功能:计算表达式平均值
2:SUM(表达式)
功能:计算表达式之和
3:COUNT(表达式)
功能:计算满足表达式的记录数目
4:MAX(表达式)
功能:计算表达式最大值
5:MIN(表达式)
功能:计算表达式最小值
6. CAST、CONVERT都可以执行数据类型转换。
在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。
语法: CAST (expression AS data_type [ (length ) ])
功能: 将表达式按照指定的类型(长度)转换并输出
示例:
select cast (19.666 as decimal(4,2))----19.67,返回4位十进制数值,保留小数点后2位
7:convert
语法:CONVERT(data_type(length), data_to_be_converted, style)
功能:将日期时间数据按照指定的类型和长度转换并输出
示例:
select convert(varchar(10),getdate(),121)----2017-11-24,按年-月-日输出10位长度日期
select convert (int,‘232’)----232,转换格式
PS:参数 style的详细说明表见下附图片
8:getdate()
功能:获取当前日期
9:Year(date数据)、Month(date数据)、Day(date数据)
功能:获取date数据的年、月、日 信息
10:DATEPART(datepart , date数据)
功能:返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
示例:
select datepart(dy, getdate())----328(本年第328天)
11:dateadd (datepart, number, date数据)
功能:将某个日期加上一个特定的时间间隔值后返回datetime数据类型的值
示例:(PS:具体datepart 参数说明详见右表)
select dateadd(YY,10,getdate())----今天往后加十年
12:datediff (datepart, startdate, enddate)
功能:将使用enddate减以startdate的值,如果startdate晚于enddate将返回负值。执行结果如果超出整数范围将提示错误。
示例:
select datediff(day,'2011-11-11','2012-12-12')----397
13:len( string_expression )
功能:获取字符串的长度(字符数),但不包括右边的空格。
示例:select len(' xxxxx')----5,左侧有空格
14:space(integer_expression)
功能:获取空格。这里的integer_expression为指示空格个数的正整数。
示例:select ('Ran' +space(2)+'dy')--------xxx xx
15:清除左边空格LTRIM
示例:select LTRIM(‘ xxxx’)----xxxx,消除左侧空格
16:清除右边空格RTRIM
示例:select RTRIM(‘xxxx ’)----xxxx,消除右侧空格
17:截取左边字符串 LEFT
示例:select left('123456789',3) --输出 123
18:截取右边字符串 RIGHT
示例:select right('123456789',3) --输出 789
19:截取指定位置字符串SUBSTRING
语法:substring( expression, start,length)
说明:
start:指定子字符串开始位置的整数
length:一个正整数,指定要返回的expression的字符数或字节数。如果length为负,则会返回错误。
示例:
select substring(‘hello’,1,2) --从第1位开始输出2个字符串, he
20:REPLICATE
功能:按照指定的整数次数,重复生成一个字符串形式的表达式,结果为字符串。
语法:replicate( character_expression, integer_expression )
示例: print 'Who?'+REPLICATE(CHAR(10)+CHAR(13),2) +'Randy'
PS: CHAR(10)+CHAR(13) 功能为换行、回车
21:REPLACE
功能:用另一个字符串值替换出现的所有指定字符串值。
语法:REPLACE ( string_expression1 , string_expression2 , string_expression3 )
说明:
string_expression1:要搜索的字符串表达式;
string_expression2:被替换的字符串
string_expression3:替换字符串
示例:SELECT REPLACE('abcde', 'abc', 'xxx') --xxxde
NULL值处理函数
SQL Server中处理Null值的两个有用函数:
22:ISNULL函数
功能:判断表达式,为NUll时返回指定值,不为NUll时,返回表达式的值
示例:
SELECT ISNULL(‘randy’,0)--不为NULL时返回表达式’Randy’;
SELECT ISNULL(null,999)-----为NULL时,返回指定值 999
23:COALESCE函数
功能:返回一系列表达式中第一个不为NULL的值.
表达式的顺序可以按照优先级排列,即按照优先级依次判断表达式是否为NULL
示例:
SELECT COALESCE(NULL, 'randy', 'zzz', null)----’Randy’
SELECT COALESCE(优先事件1,优先事件2,优先事件3,优先事件4)
26: 一些实用数学函数
SELECT FLOOR(1.666)--------1 向下取整
SELECT CEILING(0.414)------1 向上取整
SELECT ROUND(1.414,1)-----1.400 四舍五入至小数点后一位
SELECT dbo.trunc(6.35)-----6 截取整数位
SELECT ABS(-4.414)---------4 取绝对值
SELECT SIGN(-4.414)--------返回-1.000 取符号
*****取日期函数*************
SELECT dbo.BOY(GETDATE())--取本年第一天
SELECT dbo.BOD(GETDATE())--取当前日期
SELECT dbo.BOQ(GETDATE())--取本季度第一天
SELECT dbo.BOM(GETDATE())--取本月第一天
SELECT dbo.BOW(GETDATE())--取本周第一天-------周一
----------------------------------------------------------
SELECT dbo.EOY(GETDATE())--取本年最后一天
SELECT dbo.EOD(GETDATE())--取当前日期
SELECT dbo.EOQ(GETDATE())--取本季度最后一天
SELECT dbo.EOM(GETDATE())--取本月最后一天
SELECT dbo.EOW(GETDATE())--取本周最后一天-------周日
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE()),120)+‘1’)
--- 取本月最后一天
SQL 查询随机函数用法:
select * from (select rn.*, row_number() over(order by dbms_random.value) from (
SELECT XXX as 客户号
FROM XXX
WHERE XXX = XXX
AND ROWNUM < ) rn)
where rownum =
SQL函数汇总大全的更多相关文章
- SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- SQL函数说明大全 (转)
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- [转] SQL函数说明大全
from http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据, ...
- SQL函数汇总【精选篇】
1.绝对值 SQL:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.00 ...
- SQL函数汇总(MySQL教材)
1.SQL重复记录查询的几种方法 https://www.cnblogs.com/firstdream/p/5826238.html 2.SQL两列字段,合并为一个字符串,中间加符号 https:// ...
- MySQL常用SQL/函数汇总(持续更新)
自动生成ROWNUN SELECT (@rowNO := @rowNo+1) AS rowno,a.uuid FROM (SELECT * FROM h_log_proc) a,(SELECT @ro ...
- sql函数大全
sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...
- SQL查询语句大全集锦
SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询t ...
- sql经典语句大全
SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------ ...
随机推荐
- Error: parent directory is world writable but not sticky
在本地安装pyenv的时候,出现了如下的报错: ➜ brew install pyenv ==> Downloading https://github.com/yyuu/pyenv/archiv ...
- AllPay(欧付宝)支付接口集成
AllPay,http://www.allpay.com.tw/,欧付宝是台湾知名的第三方支付公司,拥有丰富的支付模式(支持和支付宝.财付通),只需要一次对接,各种支付模式均可使用. 接口编写SDK: ...
- 根据IP获取国家
国外的还算比较权威的IP地址库,而且免费,每天调用次数不超过1000免费.超过另收费. public string Ip2Country(string ip) { try { string url = ...
- Android美丽的对话框项目sweet-alert-dialog
美丽的对话框 sweet-alert-dialog 项目地址: https://github.com/pedant/sweet-alert-dialog android原生的dialog太生硬了,之前 ...
- linux下yum安装最新稳定版nginx
## 摘抄nginx官网文档 URL:http://nginx.org/en/linux_packages.html#stable To set up the yum repository for R ...
- Java知多少(59)创建多线程
到目前为止,我们仅用到两个线程:主线程和一个子线程.然而,你的程序可以创建所需的更多线程.例如,下面的程序创建了三个子线程: // Create multiple threads. class New ...
- Oracle调整内存超出限制出现ORA-27100: shared memory realm already exists问题解决办法
今天测试服务器遇到问题 ORA-04030:out of process memory when trying to allocate string bytes 一看就猜到是内存不足了,把Oracle ...
- Springframework和Hibernate版本对应关系
org.springframework 3.0.x对应org.hibernate4.0.x版本 org.springframework 3.2.x对应org.hibernate4.2.x版本 org. ...
- mysql+redis
微博的系统架构,想用mysql+redis配合使用,具体操作步骤: 写入数据到Redis,,然后在写个运行cron的脚本,美妙读内存,并写入数据库即可. 使用注意: 1.MySQL使用需要注意的地方: ...
- 分辨率,PPi,DPI,DPR,物理像素,逻辑像素
屏幕尺寸:指的是屏幕对角线的长度 分辨率:是指宽度上和高度上最多能显示的物理像素点个数 点距:像素与像素之间的距离,点距和屏幕尺寸决定了分辨率大小 PPI:屏幕像素密度,即每英寸(1英寸=2.54厘米 ...