点击蓝色字关注“SQL数据库运维”不迷路
函数的类型
1、聚合函数:对一组值执行计算,并返回单个值,也被称为组函数。聚合函数经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用。
AVG(column) - 返回指定组中的平均值,仅用于数字列并自动忽略NULL值。
COUNT(column) - 列值的计数(不包括NULL值)。
COUNT(*) - 返回表中的行数(包括有NULL值的列和重复项)。
COUNT(DISTINCT column) - 对组中的每一行都计算column并返回唯一非空值的数量。
MAX(column) - 列中最大值(文本数据类型中按字母顺序排在最后的值)。忽略空值。
MIN(column) - 列中最小值(文本数据类型中按字母顺序排在最前的值)。忽略空值。
SUM(column) - 返回总和,必须是数值型参数,空值被忽略。
2、转换函数:将一种数据类型转换为另外一种。有CONVERT和CAST两种。
CONVERT(data_type[(length)], expression [, style])
CAST( expression AS data_type )
Cast和Convert的区别:
Cast 和Convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。
3、日期函数:处理日期和时间。
GETDATE() 当前的系统日期。
DATEADD(日期部分,number,date) 返回带有指定数字(number)的日期。(date),该数字添加到指定的日期部分(datepart)。
DATEDIFF(日期部分,date1,date2) 返回两个日期中指定的日期部分之间的差值。
DATENAME(日期部分,date) 返回日期中日期部分的字符串形式。
DATEPART(日期部分,date) 返回日期中指定的日期部分的整数形式。
YEAR(date) 返回指定日期的年份数值。
MONTH(date)返回指定日期的月份数值。
DAY(date)返回指定日期的天数值。
注:当显示日期列的内容时如果只显示年月日部分,可以使用CONVERT转换函数对日期列进行转换
CONVERT(VARCHAR(10),日期字段名,120) --120 为日期格式YYYY-MM-DD
DATENAME 和 DATEPART 的区别,返回的值类型不同,一个是VARCHAR一个是INT,另外就是星期会用本地语言来表示。
4、字符串函数:对字符串、二进制数据或表达式执行操作。
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) 将字符表达式全部转换为大写。
5、系统函数:从数据库返回在SQL SERVER中的值、对象或设置的特殊信息。
COALESCE(expr1,expr2, xprN) 返回第一个非NULL表达式。
COL_LENGTH('table_name','column_name') 返回列的长度。
COL_NAME(table_id,column_id) 返回指定的表中的列名。
DATALENGTH('expr') 返回任何数据类型的实际长度。
DB_ID([‘database_name']) 返回数据库的标识号。
DB_NAME([database_id]) 返回数据库的名称。
GETANSINULL([‘database_name']) 返回数据库的默认空性(Nullability)。
HOST_ID() 返回工作站的标识号。
HOST_NAME() 返回工作站的名称。
IDENT_INCR('table_or_view') 指定表或视图以检查有效的标识增量值的表达式。table_or_view 可以是带有引号的字符串常量,也可以是变量、函数或列名。table_or_view 的数据类型为 char、nchar、varchar 或 nvarchar。
IDENT_SEED('table_or_view') 返回标识列的起始编号。
INDEX_COL('table_name',index_id,key_id) 返回索引的列名。
ISNULL(expr,value) 使用指定的值替换的NULL表达式。
NULLIF(expr1,expr2) Expr1与Expr2相等时,返回Null。
OBJECT_ID('obj_name') 返回数据库对象标识号。
OBJECT_NAME('object_id') 返回数据库对象名。
STATS_DATE(table_id,index_id) 返回上次更新指定索引的统计的日期。
SUSER_SID([‘login_name']) 返回用户的登录标识号。
SUSER_ID([‘login_name']) 返回用户的登录标识号。这个函数类似于SUSER_SID()函数,并且保留了向后的兼容性。
SUSER_SNAME([server_user_id]) 返回用户的登录标识号。
SUSER_NAME([server_user_id]) 返回用户的登录标识号。这个函数类似于SUSER_SNAME()函数,并且保留了向后的兼容性。
USER_ID('user_name') 返回用户的数据库标识号。
USER_NAME(['user_id']) 返回用户的数据库名称。
提示:在下面的章节,我会详细举例讲解SQL函数相关知识。同时,感谢大家的支持,SQL数据库基础教程已经更新至SQL函数篇。希望文章可以帮助到你,文章中如有错误,欢迎指正,交流,共同进步。




