首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

使用什么参数,怎么调用此函数

2012-02-15 
使用什么参数,如何调用此函数?CREATE FUNCTION f_DateADD(@Date datetime,@DateStr varchar(23))RETURNS d

使用什么参数,如何调用此函数?
CREATE FUNCTION f_DateADD(
@Date datetime,
@DateStr varchar(23)
) RETURNS datetime


想运行此函数,这样写为什么报错?应该如何使用?
f_DateADD('2001-1-01','2001-2-1')

[解决办法]

SQL code
select dbo.f_DateADD('2001-1-01','2001-2-1')
[解决办法]
引用别人的例子,LZ可以参考下如何使用函数!
create table tab1(CompanyPropertyID varchar(10),CompanyPropertyName varchar(100))
Insert into tab1
select '01','aaa'
union all select '02','bbb'
union all select '03','ccc'
 
create table tab2(SellID varchar(10),CompanyPropertyIDS varchar(100))
Insert into tab2
select 'A001','01;02;'
union all select 'A001','01'
union all select 'A001','01;03;'
union all select 'A001','01;02;03;'
 
select * from tab1
select * from tab2
 
--創建函數處理
create function dbo.fn_f(@s varchar(1000))
returns varchar(1000)
as
begin
declare @a varchar(1000)
declare @i int
set @a=''
set @i=1
while @i>0
begin
select @a=@a+CompanyPropertyName+';' from tab1 where CompanyPropertyID=substring(@s,@i,2)
set @i=charindex(';',@s,@i+3)-2
end
return(left(@a,len(@a)-1))
end
 
--刪除
drop table tab1
drop table tab2
drop function dbo.fn_f
 
--結果
select SellID,CompanyPropertyName=dbo.fn_f(CompanyPropertyIDS) from tab2
SellID CompanyPropertyName
---------------------------------------------
A001 aaa;bbb
A001 aaa
A001 aaa;ccc
A001 aaa;bbb;ccc
[解决办法]
加上函数所有者dbo
dbo.f_DateADD
[解决办法]
SQL code
select dbo.f_DateADD
[解决办法]
select dbo.f_DateADD('2001-1-01','2001-2-1') 



我刚才试过了啊.没问题.

结果是:
4002-03-02 00:00:00.000

[解决办法]
SQL code
select dbo.f_DateADD('2001-1-01','2001-2-1')
[解决办法]
SQL code
完美的例子CREATE  FUNCTION  f_DateADD(@Date  datetime, @DateStr varchar(23) ) RETURNS   datetime begindeclare @@Date datetimeselect @@Date=datediff(year,@Date,convert(datetime,@DateStr))return @@Dateendgoselect dbo.f_DateADD('2001-1-01','2001-2-1')/*-----------------------1900-01-01 00:00:00.000*/ 

热点排行