當前位置:首頁 » 編程語言 » sql自定義函數實例
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql自定義函數實例

發布時間: 2022-01-15 04:31:34

① 請幫忙寫個sql 自定義函數!

我喜歡,占樓
----------------------

create function getnum(@n1 int,@n2 int,@n3 int ,@n4 int,@n5 int,@n6 int)
RETURNS int
AS
begin
declare @cnt int
declare @t table (n int)
insert into @t values(@n1),(@n2),(@n3),(@n4),(@n5),(@n6)
select @cnt = count(*)
from (
select cnt = count(*)
from (
-- 想必是要取絕對值吧,若不是,去掉abs函數即可
select cnt = abs(isnull(t1.n,0) - isnull(t2.n,0))
from @t t1
cross join @t t2) c
group by cnt
) t

return @cnt
end

select dbo.getnum(1,2,3,4,5,6)

② sql 自定義函數

Create function dbo.functionname()
returns nvarchar(200)
as
begin
declare @return nvarchar(200) --長度看你需要
select @return=''
select @return=@return+space(1)+colname from tablename where ...
return @return
end

③ SQL中創建一個用戶自定義函數

CREATE FUNCTION DBO.tFProctsHS ( @name VARCHAR(10))
RETURNS INT --這個根據價格的類型自己修改
AS
begin
DECLARE @jiage INT;
select @jiage= jiage from 商品表 where name= @name
RETURN (@jiage)
end

--ceshi
select DBO.tFProctsHS ('記事本')

④ SQL如何調用自定義函數

存儲過程。用在不同的地方需要不同的調用的方式。
如:asp;Set Dataconn = Server.CreateObject("ADODB.Connection")
再建立連接對象---建立命令對象--建立記錄集對象(cmdTemp.CommandText = "dbo.pd_test" '這里的dbo.pd_test就是存儲過程名稱
)
接下來就是過程操作。你需要看相關的書,畢竟是sql的精華部分之後,一言兩語說不完。

⑤ sql 自定義的函數三種,有達人能給我3個事例順便講解下區別么。

1)標量函數求三個數中的最大值
create function func_max(@x int,@y int,@z int)
returns in
as
begin
if @x<@y
if @y<@z set @x=@z;
else @x=@y;
else
if @y<@z
if@x<@z set @x=@z;
return @x;
end;
2)內聯表值函數
create function func_find(@a int)
returns table
as
return(select * from test where a=@a)
3)多語句表值函數
create function func_find1(@sex char(2))
returns @func_find1 table(
sno int,
sname varchar(10),
sex char(2)
)
as
begin
insert into func_find1
select S.sno,S.sname,S.sex from S where S.sex=@sex
return
end

區別:
標量函數返回在returns自居中定義的類型的單個數據值,可以使用標量數據類型(包括bigint和sql_variant)。
內聯表值函數沒有函數主體,表是單個select語句的結果集。
多語句表值函數,在begin。。end塊中定義的函數主體包含SQL語句,這些語句可生成行並將行插入將返回的表中。其中的語句不能有任何副作用。

⑥ 在SQL中怎樣調用自定義函數

在select後跟你的自定義函數就可以。

mysql中用select調用自帶的now()函數:
mysql> select now();
然後mysql就會返回當前的時間。

⑦ 請教SQL自定義函數返回的例子

有記錄的話會輸出 學號,姓名,性別,課程名稱,成績,如果返回時空,在後台代碼做判斷吧
用的是mysql
delimiter
$$
create
function
name_of_function(kc
varchar(10))
//kc
課程名稱
return
char(8)
begin
//現在比如你傳的參數是會計
return
(
select
ST.學號,ST.姓名,ST.性別
,SC.課程名,SC.成績
from
st
ST
left
join
(select
S.學號,S.成績,C.課程名
from
s
S
left
join
c
C
on
S.課程號
=
C.課程號
and
C.課程名
=
'會計')
SC
on
st.學號
=
SC.學號
;

);
end$$
demiliter;

⑧ SQL語句中如何包含一個自定義函數

在SQL語句,要包含函數干什麼?達不到你預期效果?
你用CASE WHEN 啊
select case when 月份>=2 and 月份<=5 then '春節' when 月份>=6 and 月份<=9 then '夏節' when .... end

⑨ sql如何調用自定義函數

select 自定義函數名();

⑩ 寫一個Sql自定義函數

declare @flag int,@no varchar(20),@return int
--先為變數賦值
--set @flag=0...
select @return = search1(@flag,@no)

我沒明白,是要寫函數的代碼還是寫調用的代碼?調用方法上面已寫。