博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL自定义函数
阅读量:6250 次
发布时间:2019-06-22

本文共 1526 字,大约阅读时间需要 5 分钟。

1,自定义函数--返回单一值

CREATE FUNCTION [dbo].[Round2] (    -- Add the parameters for the function here    @p1 sql_variant,    -- decimal numbers    @scale int)RETURNS sql_variantASBEGIN    -- Declare the return variable here    DECLARE @Result sql_variant,@interval sql_variant    -- Add the T-SQL statements to compute the return value here    if @scale >=0         set @interval = 1.0/POWER(10,@scale) * 0.5    else        set @interval = POWER(10,@scale) * 0.5                if @p1 > @interval        set @Result = round(cast(@p1 as float) - cast( @interval as float),@scale)    else        set @Result = 0                -- Return the result of the function    RETURN @ResultEND

调用自定义函数

-- 注意,前缀dbo好像不能省略,不清楚原因select dbo.round2(123.456,2)

删除自定义函数

drop function round2

 2,自定义函数--返回一个表结构

2.1 返回的表结构自己定义

CREATE FUNCTION f1 (    -- Add the parameters for the function here    @p1 int,     @p2 char)RETURNS @Table_Var TABLE (    -- Add the column definitions for the TABLE variable here    c1 int,     c2 int)ASBEGIN    -- Fill the table variable with the rows for your result set    insert into @Table_Var values(1,2)    insert into @Table_Var values(1,2)    RETURN ENDGO

调用

select * from f1(1,1)

2.2 返回的表结构不明确定义,由select语句决定

CREATE FUNCTION f2(        -- Add the parameters for the function here    @p1 int,     @p2 char)RETURNS TABLE ASRETURN (    -- Add the SELECT statement with parameter references here    SELECT top 10 * from dbo.DQuestionData)GO

调用

select * from  f2(1,1)

 

转载于:https://www.cnblogs.com/xiashengwang/p/3508779.html

你可能感兴趣的文章
查看linux文件目录的大小和文件夹包含的文件数
查看>>
MySQL(一)之MySQL简介与安装
查看>>
ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
查看>>
Python2.7编程基础(博主推荐)
查看>>
webpack css打包为一个css
查看>>
线程间的通信、同步方式与进程间通信方式
查看>>
C#设计模式之四建造者模式(Builder Pattern)【创建型】
查看>>
数据结构与算法(周鹏-未出版)-第六章 树-6.3 二叉树基本操作的实现
查看>>
[Python] List & Object spread in Python
查看>>
[js高手之路]html5 canvas动画教程 - 下雪效果
查看>>
JTable更新内容的方法
查看>>
Linux之统计特定进程运行数量
查看>>
Oracle聚合连接字符串
查看>>
《java与模式》
查看>>
Charles从入门到放弃
查看>>
Win7网络修复,winsock/tcpip
查看>>
ajax补充--------FormData等...
查看>>
Android 获取android安装apk框的安装状态(如点击取消、返回)
查看>>
IIS中的application总是报404错误
查看>>
jQuery元素操作1
查看>>