带参数的存储过程
我想建一个带参数的存储过程,如果带字符串参数就把它转成datetime,如果不带参数就取当前时间,怎么写好? 问题点数:100、回复次数:3Top
1 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-11-23 10:47:28 得分 0
不能用不确定的函数值作为存储过程参数的默认值,只能变通一下:
create procedure sp_test
@datetime datetime
as
begin
if(@datetime is null)
set @datetime=getdate()
......
end
goTop
2 楼aw511(点点星灯)回复于 2005-11-23 10:48:58 得分 10
--创建
CREATE PROCEDURE [dbo].[selectdatetime]
(
@dat datetime
)
AS
if @dat=''
begin
select getdate()
end
else
begin
select @dat
end
GO
--调用,查看
dbo.selectdatetime ''
go
dbo.selectdatetime '2005-11-23'
go
select getdate()
goTop
3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-11-23 10:49:39 得分 90
create procedure sp_test
@datetime varchar(30)=''
as
begin
if(@datetime = '')
set @datetime=getdate()
else
set @datetime=cast(@datetime as datetime)
print @datetime
end
go
exec sp_test
drop procedure sp_testTop




