sql - 如何在存储过程中设置日期时间可选参数?

标签 sql sql-server t-sql stored-procedures

如何在sql server存储过程中设置日期时间可选参数?

下面是我的存储过程,我想在@LocalDateTime为null时设置@LocalDateTime = utcdate

存储过程:

Create PROCEDURE [dbo].[ABC] 
(  
    @LocalDateTime datetime=getutcdate()
) 

最佳答案

参数的默认值必须是常量。您可以将其设置在存储过程的主体内:

Create PROCEDURE [dbo].[ABC] 
(  
    @LocalDateTime datetime = null
) 

as

begin

    set @LocalDateTime = ISNULL(@LocalDateTime,GETUTCDATE())

end

更多信息here在 MSDN 上。以下是摘录:

default
A default value for a parameter. If a default value is defined for a parameter, the procedure can be executed without specifying a value for that parameter. The default value must be a constant or it can be NULL.

关于sql - 如何在存储过程中设置日期时间可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42506225/

相关文章:

sql - 从 SQL 中剥离文字值以正确识别数据库工作负载的最佳方法是什么?

c# - 在 SQL 中重新创建 .NET 舍入行为

sql - 在特定模式下编写所有 SQL 对象的脚本

mysql - SQL 仅选择列上具有最大值的行

c# - 从未见过的MySQL连接错误

SQL 嵌套查询

mysql - SQL 表设置和性能

sql - 从 select 语句中的 SUM 返回前 5 个

sql - 从 2 个表 SQL Server 中选择和插入的更优雅的方式

t-sql - 计数 'Number of Transactions'