T-SQL中的函数
数学函数
数学函数可以对数据类型为整型(integer)、实型(real)、浮点型(float)、货币型(money)和smallmoney的列 进行操作。它的返回值是6位小数,如果使用出错,则返回NULL值并显示提示信息,通常该函数可以用在SQL语句的表达式中 常用的数学函数及说明
函数名称 | 说 明 |
COS | 返回指定的表达式中指定弧度的三角余弦值 |
COT | 返回指定的表达式中指定弧度的三角余切值 |
PI | 返回值为圆周率 |
POWER | 将指定的表达式乘指定次方 |
RAND | 返回0~1之间的随机float数 |
ROUND | 将数字表达式四舍五入为指定的长度或精度 |
SIGN | 返回指定表达式的零(0)、正号(+1)或负号(-1) |
SIN | 返回指定的表达式中指定弧度的三角正弦值 |
SQUARE | 返回指定表达式的平方 |
SQRT | 返回指定表达式的平方根 |
TAN | 返回指定的表达式中指定弧度的三角正切值 |
ABS | 返回指定数字表达式的绝对值 |
算术函数(例如ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS和SIGN)返回与输入值具有相同数据类型的值。三角函数和其他函数(包括EXP、LOG、LOG10、SQUARE和SQRT)将输入值转换为float并返回float值
SELECT PI()
SELECT RAND()--随机0-1浮点
SELECT ROUND(1.205,0)--四舍五入
SELECT FLOOR(1.9002)--向下取整
SELECT CEILING(1.0005)--向上取整
SELECT DEGREES(-1.0)--将弧度转为度
SELECT RADIANS(60.0)--将度转为弧度
字符串函数
字符串函数作用于char、varchar、binary和varbinary数据类型以及可以隐式转换为char或varchar的数据类型。通 常字符串函数可以用在SQL语句的表达式中。
常用的字符串函数及说明:
函 数 名 称 | 说 明 |
ASCII | 返回字符表达式最左端字符的ASCII代码值 |
CHARINDEX | 返回字符串中指定表达式的起始位置 |
LEFT | 从左边开始,取得字符串左边指定个数的字符 |
LEN | 返回指定字符串的字符(而不是字节)个数 |
REPLACE | 将指定的字符串替换为另一指定的字符串 |
REVERSE | 返回字符表达式的反转 |
RIGHT | 从右边开始,取得字符串右边指定个数的字符 |
STR | 返回由数字数据转换来的字符数据 |
SUBSTRING | 返回指定个数的字符 |
日期时间函数
日期和时间函数主要用来操作datetime、smalldatetime类型的数据,日期和时间函数执行算术运行与其他函数一样,也 可以在SQL语句的SELECT、WHERE子句以及表达式中使用。
常用的日期时间函数及说明:
函 数 名 称 | 说 明 |
DATEADD | 在向指定日期加上一段时间的基础上,返回新的datetime值 |
DATEDIFF | 返回跨两个指定日期的日期和时间边界数 |
GETDATE | 返回当前系统日期和时间 |
DAY | 返回指定日期中的天的整数 |
MONTH | 返回指定日期中的月份的整数 |
YEAR | 返回指定日期中的年份的整数 |
DATEADD函数将表示日期或时间间隔的数值与日期中指定的日期部分相加后,返回一个新的 DT_DBTIMESTAMP 值。
number参数的值必须为整数,而date参数的取值必须为有效日期。
语法如下:
DATEADD(datepart, number, date)
GROUP BY 分组查询
通过指定的字段进行对数据进行分组
SELECT COUNT(*),Sex,AVG(Age) FROM Student GROUP BY Sex
HAVING函数
HAVING函数,查询数据表中的重复记录,可以借助HAVING子句实现,该子句用来指定组或聚合的搜索条件。HAVING子句只能与SELECT语句一起使用,而且,它通常在GROUP BY子句中使用。相当于在GROUP BY里面添加筛选条件
SELECT COUNT(*),Age FROM Student GROUP BY Age HAVING COUNT(*)<2