如何在存储过程中设置日期时间可选参数?
Posted
技术标签:
【中文标题】如何在存储过程中设置日期时间可选参数?【英文标题】:How to set datetime optional parameter in a stored procedure? 【发布时间】:2017-02-28 10:27:47 【问题描述】:如何在sql server存储过程中设置datetime可选参数?
下面是我的存储过程,我想在@LocalDateTime is null
时设置@LocalDateTime = utcdate
。
存储过程:
Create PROCEDURE [dbo].[ABC]
(
@LocalDateTime datetime=getutcdate()
)
【问题讨论】:
它有什么作用吗?如果是这样,是什么?为什么这不是你需要的?或者换句话说:请提出您的问题,以便人们了解您需要什么帮助。 【参考方案1】:参数的默认值必须是常数。您可以在存储过程的主体内设置它:
Create PROCEDURE [dbo].[ABC]
(
@LocalDateTime datetime = null
)
as
begin
set @LocalDateTime = ISNULL(@LocalDateTime,GETUTCDATE())
end
更多信息 here MSDN。摘录如下:
默认值 参数的默认值。如果定义了默认值 对于参数,可以在不指定参数的情况下执行过程 该参数的值。 默认值必须是常量,否则 可以为 NULL。
【讨论】:
感谢@Andrea,实际上我想在声明中赋值,但我认为这是不可能的..以上是关于如何在存储过程中设置日期时间可选参数?的主要内容,如果未能解决你的问题,请参考以下文章