- 一、聚合函数
对一组值执行计算,并返回单个值。除count外,聚合函数都会忽略空值。聚合函数常与SELECT 语句的GROUP BY 一起使用
聚合函数为确定性函数,任何时候使用一组特定的输入值调用聚合函数,返回值都是相同的
SUM:所有值的和(smallint tinyint 数据类型当int处理。忽略NULL )
AVG:计算平均值(返回值类型不一定和传递的列相同,float 与read类,返回float.)
MIN:最小值(DISTINCT 无意义;不能用于bit字段;忽略NULL,但如果全为NULL ,则返回NULL;不能使用聚合函数和子查询)
MAX:最大值(DISTINCT 无意义;不能用于bit字段;忽略NULL,但如果全为NULL ,则返回NULL;不能使用聚合函数和子查询,不能从 BIT,TEXT,IMAGE类型中选出最大值)
COUNT:组中项的数量(返回INT数据类型,)
DISTINCT:返回一个集合,并从指定的集合中删除重复的元组
二、数学函数
- 对数字表达式进行数学计算,并将结果返回给用户,默认情况,传递给数字函数的数字将被解释为双精度浮点数
- ABS:绝对值
- COS:弧度的余弦值
- COT:弧度的余切值
- PI:返回圆周率
- POWER:表达式乘指定次方 POWER(2,3)
- RAND:返回0~1的随机FLOAT数
- ROUND:四舍五入为指定的长度或精度 round(123.99,3)
- SIGN:指定表达式的零(0)、正号(+1)、负号(-1)
- SQUARE:指定表达式的平方 square(2)
- SQRT:表达式的平方根 sqrt(4)
- TRAN:正切值
三、字符串函数
- 作用于char 、varchar 、binary、varbinary数据类型以及隐式转换为char 或varchar
- ASCII:返回字符串表达式最左端字符的ASCII码值
- REVERSE:返回表达式的反转
- CHARINDEX:返回字符串中指定表达式的起始位置 charinddex(‘afdafrerfe’,‘d’,start_loction)
- RIGHT:从右边开始,取得字符串右边指定个数的字符 RIGHT(‘FDAFA’,4)
- LEFT:从字符串左边起,取字符串左边起指定个数的字符 left(‘FDAFA’,4)
- STR:返回由数字数据转换的字符数据 ,当表达式超出指定长度时,返回**
-
str(float类型数,总长度(包含小数点,符号,数字及空格,默认10),小数的位数) str('12.339',6,2) 返回12.34
- LEN:返回指定字符串的字符的个数。不是字节数。len(‘fvsfdsfgs’)
- SUBSTRING:返回指定个数的字符 substring(‘wwrreea’,start_positon,len)
- REPLACE:将指定的字符串替换为另一个指定的字符串 replace(‘要搜索的字符串’,‘待替换的字符串’,‘要替换为的字符串’)
四、日期和时间函数 - DATEADD:向指定日期加上一段时间,返回一个新的datetime dateadd(‘month’,number(若不是整数,废弃小数部分),date)
- DATEDIFF:返回跨两个指定日期的日期和时间边界数
- GETDATE:返回当前系统日期和时间 select getdate() as ‘现在的时间’
- DAY:返回指定日期中日的整数 等价于 datepart( dd,date) select day(‘2024-06-13’) as ‘day’
- MONTH:返回指定日期中月的整数 等价于 datepart( mm,date) select month(‘2024-06-13’) as ‘month’
- YEAR:返回指定日期中年的整数 等价于 datepart(yy,date) select year(‘2024-06-13’) as ‘year’
- DATEDIFF:返回日期和时间的边界数 datediff(day/year/month/hour/minute/second/millisecond,‘开始时间’,结束时间)
五、转换函数
- CAST和CONVERT 不但可以将指定的护具类型转换为另一种数据类型,还可以用来获取各种特殊的数据格式,cast 函数优先于convert函数
- CAST: cast(expression as date_type) 如:select cast(‘fdafdagg’ as nvarchar(10)) as 结果
- CONVERT:按指定的格式将数据转换为另一个数据类型 CONVERT(datetype[length],expression[,style])
datetype:目标系统类型,不能是自定义类型
style:日期的样式,指定当将datetime数据转换为某种字符数据时,或将某种字符数据转换为datetime数据时使用的样式
convert(datetime, getdate(),126)
元数据函数
- 返回与数据库相关的信息
- 返回数据库中数据表或视图的个数和名称
- 返回数据表中数据字段的名称、数据类型、长度等描述信息
- 返回数据表中定义的约束,索引,主键,外键等信息
- COL_LENGTH:返回列的长度,以字节为单位 col_length(‘table’,‘column’)
- COL_NAME:返回数据库列的名称,该列具有相应的表标识符或列标识符 col_name(table_id,column_id) table_id获取方法object_id(‘table’)
- DB_NAME:返回数据库名 db_name([database_id]) database_id 若未指定,则返回当前数据库名