SQL中包含以下七种类型的函数:

  1. 聚合函数:返回汇总值。
  2. 转型函数:将一种数据类型转换为另外一种。
  3. 日期函数:处理日期和时间。
  4. 数学函数:执行算术运算。
  5. 字符串函数:对字符串、二进制数据或表达式执行操作。
  6. 系统函数:从数据库返回在SQLSERVER中的值、对象或设置的特殊信息。
  7. 文本和图像函数:对文本和图像数据执行操作。

一、聚合函数 (它对其应用的每个行集返回一个值。)

  • AVG(表达式) 返回表达式中所有的平均值。仅用于数字列并自动忽略NULL值。

  • COUNT(表达式) 返回表达式中非NULL值的数量。可用于数字和字符列。

  • COUNT(*) 返回表中的行数(包括有NULL值的列)。

  • MAX(表达式) 返回表达式中的最大值,忽略NULL值。可用于数字、字符和日期时间列。

  • MIN(表达式) 返回表达式中的最小值,忽略NULL值。可用于数字、字符和日期时间列。

  • SUM(表达式) 返回表达式中所有的总和,忽略NULL值。仅用于数字列。

二、转换函数

有CONVERT和CAST两种。

  • CONVERT(data_type[(length)], expression [, style])

    例: Select convert(varchar(10) ,stuno) as stuno,stuname from student

  • CAST( expression AS data_type )

    例: Select cast(stuno as varchar(10)) as stuno,stuname from student

Cast和Convert的区别

Cast 和Convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。

三、日期函数

由于不能直接执行算术函数,所以日期函数就十分有用。

GETDATE() 当前的系统日期。

例:select GETDATE() --结果:2019-05-07 18:34:27.343

DATEADD(日期部分,number,date) 返回带有指定数字(number)的日期(date),该数字添加到指定的日期部分(datepart)

例:select DATEADD(dd, 5, getdate()) --增加5天时间

DATEDIFF(日期部分,date1,date2) 返回两个日期中指定的日期部分之间的差值。

例:select DATEDIFF(mm, '2010-1-1', '2010-3-1 00:00:00') --结果:2

DATENAME(日期部分,date) 返回日期中日期部分的字符串形式。

例:select DATENAME(dw,GETDATE()) --结果:星期二

注:DATENAME 和 DATEPART 的区别,返回的值类型不同,一个是VARCHAR一个是INT,另外就是星期会用本地语言来表示

DATEPART(日期部分,date) 返回日期中指定的日期部分的整数形式。

例:select DATEPART(dw,GETDATE()) --结果(返回今天是一周中的第几天):3

YEAR(date) 返回指定日期的年份数值

例:select YEAR(GETDATE()) --结果:2019

MONTH(date)返回指定日期的月份数值

DAY(date)返回指定日期的天数值

注:当显示日期列的内容时如果只显示年月日部分,可以使用CONVERT转换函数对日期列进行转换

CONVERT(VARCHAR(10),日期字段名,120) --120 为日期格式YYYY-MM-DD

例:SELECT CONVERT(VARCHAR(10),盘点日期,120) AS 盘点日期 FROM 原材料盘点日期明细表

四、数字函数

ABS(num_expr) 返回数值表达式的绝对值。

CEILING(num_expr) 返回大于或等于数值表达式的最小整数

FLOOR(num_expr) 返回小于或等于数值表达式的最大整数

RAND([seed]) 随机返回的到之间的近似浮点值,可以对seed指定为整数表达式(可选)。

ROUND(num_expr,length) 对数值表达式截取指定的整数长度,返回四舍五入后的值。

SIGN(num_expr) 对正数执行+1操作,对负数和零执行-1操作。

SQUARE(float_expr) 返回浮点表达式的平均值。

SQRT(float_expr) 返回指定的近似浮点表达式的平方根。

五、字符串函数

可用于binary 和varbinary数据类型列,但主要用于char和varchar数据类型。

Expr1+expr2 返回两个表达式的组合形式的字符串。

ASCII(char_expr) 返回表达式最左边字符的ASCⅡ代码值。

CHAR(int_expr) 返回到之间的整数表达式的ASCⅡ字符值。如果输入的值不在有效范围内,则返回NULL。

CHARINDEX('pattern',char_expr) 返回字符表达式中指定模式的起始位置。

DIFFERENCE(char_expr1,char_expr2) 根据比较两个字符表达式的相似度,返回到之间的值。表示匹配度最佳。

LEN(char_expr) 返回字符表达式的长度。

LOWER(char_expr) 将字符表达式全部转换为小写。

LTRIM(char_expr) 返回删除掉前面空格的字符表达式。

PATINDEX('%pattern%',expr) 返回表达式中模式第一次出现的起始位置。返回表示不存在模式形式。

REPLICATE(char_expr,int_expr) 返回重复指定次数的字符表达式产生的字符串。

REVERSE(char_expr) 反转字符表达式。

RIGHT(char_expr,int_expr) 返回从字符表达式最右端起根据指定的字符个数得到的字符。

RTRIM(char_expr) 返回删除掉其后空格的字符表达式。

SOUNDEX(char_expr) 评估两个字符串的相似度后得到的位代码。

SPACE(int_expr) 返回包含指定空格数的字符串。

STR(float_expr[,length[,decimal]]) 返回浮点表达式的字符串表示法。

STUFF(char_expr1,start,length,char_expr2) 使用字符表达式替换字符表达式的一部分字符,从指定的位置开始替换指定的长度。

SUBSTRING(char_expr,start,length) 返回从字符表达式的指定位置开始,截取指定长度得到的字符集。

UPPER(char_expr) 将字符表达式全部转换为大写。

六、系统函数

COALESCE(expr1,expr2, xprN) 返回第一个非NULL表达式。

IDENT_INCR('table_or_view') 有新的记录添加入到表中时计数加。

ISNULL(expr,value) 使用指定的值替换的NULL表达式。

NULLIF(expr1,expr2) Expr1与Expr2相等时,返回Null。

七、文本和图像函数

通常返回有关文本和图像数据所需的信息。文本和图像数据是以二进制格式的形式进行存储的。

TEXTPTR(col_name) 返回varbinary格式的文本指针值。对文本指针进行检查以确保它指向第一个文本页。

TEXTVALID('table_name.col_name',text_ptr)检查给定的文本指针是否有效。返回表示有效,返回表示指针无效。

sql常用函数整理的更多相关文章

  1. NiosII常用函数整理

    NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...

  2. ylb:SQL 常用函数

    ylbtech-SQL Server: SQL Server-SQL 常用函数 1,数学函数 2,日期和时间函数 3,字符串函数 4,转换函数 1,ylb:SQL 常用函数返回顶部 1,数学函数 2, ...

  3. pandas 常用函数整理

    pandas常用函数整理,作为个人笔记. 仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档. 约定 from pandas import Series, DataFrame im ...

  4. SQL常用函数总结

    SQL常用函数总结 这是我在项目开发中使用db2数据库写存储过程的时候经常用到的sql函数.希望对大家有所帮助: sql cast函数 (1).CAST()函数的参数是一个表达式,它包括用AS关键字分 ...

  5. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  6. SQL常用函数之五 str()

    原文:SQL常用函数之五 str() 使用str函数   :STR 函数由数字数据转换来的字符数据.   语法      STR    (    float_expression    [    ,  ...

  7. oracle学习笔记(九) SQL常用函数说明以及使用

    SQL常用函数说明以及使用 以下补充以下常用的函数,更多的请看oracle函数API文档 to_char to_char(8.58,'9.99') to_char(8.50,'9.00') to_ch ...

  8. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  9. SQL 常用函数及示例

    --SQL 基础-->常用函数 --================================== /* 一.函数的分类 SQL函数一般分为两种 单行函数 基于单行的处理,一行产生一个结果 ...

随机推荐

  1. servlet 验证生命周期过程调用方法的次数

    1.书写一个servlet并编译,如: package testservlet; import java.io.IOException;import java.io.PrintWriter; impo ...

  2. Stream(一)

    public class Test06 { /* * StreamAPI: * StreamAPI是用来处理数据,处理集合等容器中的数据,处理操作有:查询.筛选.删除.过滤.统计.映射等. * 希望能 ...

  3. 通过express快速搭建一个node服务

    Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.可以理解为是运行在服务端的 JavaScript.如果你是一个前端程序员,不太擅长像PHP.Python或Ruby等 ...

  4. sangforEDR 任意命令执行

    EDR 使用范围 由于只有POC 没有详细细节.暂时不知道具体细节. 部分EDR 已经完成升级,不存在该漏洞. POC https://XXX:8081/tool/log/c.php?strip_sl ...

  5. Java中的微信支付(1):API V3版本签名详解

    1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑.目前微信支付的API已经发展到V3版本,采用了流行的Restful风格. 今天来分享微信支付的 ...

  6. WinSocket01

    启动windows平台下的Socket 1 #define WIN32_LEAN_AND_MEAN 2 #include<windows.h> 3 #include<WinSock2 ...

  7. Redis学习笔记(六)——数据结构之Set

    一.介绍 Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis中集合是通过哈希表实现的,所以添加.删除.查找的复杂度都是O(1). 集合中 ...

  8. 【转】Optimized Surface Loading and Soft Stretching

    FROM:http://lazyfoo.net/tutorials/SDL/05_optimized_surface_loading_and_soft_stretching/index.php Opt ...

  9. 如何使用Internet Explorer下载安装最新版Edge浏览器

    这个题目看起来可能有点奇怪,不过最近这段时间, 在一个刚安装完的Windows计算机上,确实是一个需要解决的问题.2020年8月中旬,微软宣布:一年之后,Microsoft 365 应用与服务将不再支 ...

  10. centos8 curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

    centos8操作系统,curl -k https:/www.xxx.com 报错  curl: (35) error:141A318A:SSL routines:tls_process_ske_dh ...