函数

本文非原创

1.函数的分类:

两大类:
(1)系统提供内置的函数
(2)用户自定义的函数 (两种函数都可以用在SQL语句中)


(1)系统函数:

分为:字符串函数 、数学函数 、日期函数 、数据转换函数


A)字符串函数:

它主要用来处理字符型数据,并返回相应的值。


B)数学函数:

主要用来计算数值型字段,通过传递不同的参数来得到不同的值。

例:  

    ABS(x)        返回x的绝对值

    SIGN(x)           当x为负数、零、正数的时候分别返回x的符号-1、0或者1

    MOD(x,y)          返回x除以y的余数,跟x%y作用一样

    FLOOR(x)          返回小于等于x的最大整数

    CEILING(x) 或 CEIL(x) 返回大于等于x的最小整数

    POWER(x,y)        返回x的y次方的数值、

    ROUND(x)          返回最接近于x的数

    ROUND(x,d)        返回小数点数为4的接近于x的数

 SQRT(x)                返回x的平方根


C) 日期函数:

来对 datetime 和 smalldatetime 进行不同的处理和运算。


D) 数据转换函数:

要对不同的数据类型 进行运算,必须将其转换为相同类型之后,
才能计算。

转换函数有两种:cast 和 convert

cast函数:

语法: cast (表达式 as 数据类型)

例:select book_addr + cast(book_id as varchar(30)) from YI


convert函数:

它可以指定转换后显示的样式。

语法: convert (数据类型[(长度)],表达式[,style])


(2)用户自定义的函数:

使用 create function来创建:

语法:create function [所有者名称] 函数名称
[{参数名 [as] 数据类型 [=默认值] [……]}]
returns 标量数据类型 ------>返回函数类型
[as]
begin
函数体
return 标量表达式 ----->返回函数体里的数值
end

例:(1)create function dbo.hhh
(@AA datetime , @BB datetime)
returns varchar(10)
as
begin
return datediff(yy,@AA,@BB)
end
select ee=dbo.hhh(出生日期,getdate())from AA


(2)create function dbo.ss
(@tt int ,@ff int)
returns int
as ---->创建
begin
return (@tt+@ff)
end
select yy=dbo.ss(biao_hao,biao_liang) from zxc
---->使用

原文地址:https://www.cnblogs.com/xieyuanzheng/p/5597092.html