聚合函数对一组值计算后返回单个值。除了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函数汇总大全的更多相关文章

  1. SQL函数说明大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  2. SQL函数说明大全 (转)

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  3. [转] SQL函数说明大全

    from http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据, ...

  4. SQL函数汇总【精选篇】

    1.绝对值   SQL:select abs(-1) value  O:select abs(-1) value from dual  2.取整(大)   S:select ceiling(-1.00 ...

  5. SQL函数汇总(MySQL教材)

    1.SQL重复记录查询的几种方法 https://www.cnblogs.com/firstdream/p/5826238.html 2.SQL两列字段,合并为一个字符串,中间加符号 https:// ...

  6. MySQL常用SQL/函数汇总(持续更新)

    自动生成ROWNUN SELECT (@rowNO := @rowNo+1) AS rowno,a.uuid FROM (SELECT * FROM h_log_proc) a,(SELECT @ro ...

  7. sql函数大全

    sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...

  8. SQL查询语句大全集锦

    SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询t ...

  9. sql经典语句大全

    SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------ ...

随机推荐

  1. 【原】使用Json作为Python和C#混合编程时对象转换的中间文件

    一.Python中自定义类对象json字符串化的步骤[1]   1. 用 json 或者simplejson 就可以: 2.定义转换函数: 3. 定义类 4. 生成对象 5.dumps执行,引入转换函 ...

  2. Ubuntu和centos离线安装软件包(apt和yum)

    linux安装软件包要解决包依赖问题,不能简单安装包本身. 离线安装基本思想都是先在一台设备上安装下载所有依赖包,然后拷贝所有依赖包到新设备上安装. Ubuntu下apt离线安装包 执行apt upd ...

  3. [Laravel] 07 - Project: functions in Controller

    故事背景 一.项目预览 From: https://www.imooc.com/video/12521 表单操作 一.新增信息 既然是操作,自然会想到:控制器. 控制器  [1] 路由 ----> ...

  4. 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V1 -- 本地方法调用

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——RPC -- 本地方法调用:不通过网络 入门 1. RPCObjectProxy rpcObjectProxy = new RPCObjec ...

  5. akka cluster 初体验

    cluster 配置 akka { actor { provider = "akka.cluster.ClusterActorRefProvider" } remote { log ...

  6. 使用Core Audio实现对声卡输出的捕捉

    涉及的接口有: IMMDeviceEnumerator IMMDevice IAudioClient IAudioCaptureClient 主要过程: 创建多媒体设备枚举器(IMMDeviceEnu ...

  7. 系统信号(signal)与其他(定时器,退出清理等)

    信号signal,可以用作进程线程通信,也可以用作接收中断后退出,退出时,清理资源,记录日志.python相关包为signa. linux信号表 root@server:~# kill -l ) SI ...

  8. scala 模式匹配详解 3 模式匹配的核心功能是解构

    http://www.artima.com/scalazine/articles/pattern_matching.html这篇文章是odersky谈scala中的模式匹配的一段对话,我做了部分片段翻 ...

  9. 深入理解 Java 虚拟机之学习笔记(1)

    本书结构: 从宏观的角度介绍了整个Java技术体系.Java和JVM的发展历程.模块化,以及JDK的编译 讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因 分析了 ...

  10. [原]Jenkins(四)---Jenkins添加密钥对

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5332 ...