SQL Server常用内置函数 及 查询示例

来源:互联网 发布:拒绝网络暴力议论文 编辑:程序博客网 时间:2024/05/30 02:24

数学函数

ABS():求绝对值
Ceiling():舍入到最大整数。例如,2.89将被舍入为3,-3.61将被舍入为-3.
Floor():舍入到最小整数,2.89将被舍入为2,-3.61将被舍入为-4.
Round( numeric_expression , length):对数值表达式舍入到指定长度和精度。例如,SELECT Round(123.456789,3) -- 输出 123.457000    精确到小数点后3位
Rand():返回随机的从0到1之间的浮点数。
PI():返回圆周率Float
Degrees():返回弧度对应的角度
Power():返回指定表达式的指定幂的值。例如,SELECT Power(2,10)    --1024
SQUARE():返回指定浮点值的平方。例如,SELECT Square(5)    --25
SQRT():返回指定浮点值的平方根(开方)。例如,SELECT SQRT(25)    --5
EXP():返回指定的 float 表达式的指数值。
……


字符串函数

Len():计算字符串长度
Lower()、Upper():转小写、大写
Ltrim()、Rtrim():字符串左侧、右侧的空格去掉。去掉左右空格:Ltrim(Rtrim('   hello   '))
Substring(string,start_position,length)


日期函数

Getdate():当前日期时间
DateAdd(datepart,number,date):计算增加以后的日期,例如dateadd(month,-8,date)计算日期date的8个月前的日期
DateDiff(datepart,startdate,enddate):计算差额
DatePart(datepart,date):返回一个日期的特定部分


类型转换函数

CAST(expression AS data_type)
Convert(date_type,expression)


空值处理函数

ISNULL(expression,value):如果expression不为空则返回expression,否则返回value


流程控制函数

1.CASE ..when..then..when..then..else..END
例如,表中有ABC三烈,当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
select(case when a>b then a else b end),(case when b>c then b else c end) from t


示例一:

有一张表T_Scores,记录比赛成绩
Date Name Score
2014-04-04 湖人
2014-09-09 拜仁
2014-05-05 湖人
2014-03-03 湖人
要求输入下面的格式:
Name
湖人 2 1
拜仁 1 0

select Name,sum(case Scorewhen N'胜' then 1else 0 end) as 胜,sum(case Scorewhen N'负' then 1else 0 end) as 负from T_Scoresgroup by Name


示例二:

输出本月拨打电话次数最多的前三个呼叫员的编号

select top 3 CallerNumber from T_CallRecordswhere datadiff(month,StartDateTime,getdate())=0  -- 表示本月group by CallerNumberorder by count(*) desc


0 0
原创粉丝点击