[英]Return nullable type in SQL Server function
是否可以创建返回可为空的字符串的SQL Server函数?
我想创建一个函数,如果值是0或空字符串,则返回DBNull:
Create FUNCTION [dbo].[SetDBNullNvarChar] (@input nvarchar(1000))
RETURNS (needs to be nullable)
AS
BEGIN
if (@input = '' OR @input = 0)
BEGIN
RETURN null
END
return @input
END
SQL中的任何数据类型都可以设置为null,除非对其施加非null限制。 因此,您应该能够使用最适合您需要的任何返回类型...
在调用代码中,您必须检查返回的值是否等于DBNull.Value并使代码相应地起作用。
这确实为我返回了NULL
:
Create FUNCTION [dbo].[SetDBNullNvarChar] (@input nvarchar(1000))
RETURNS NVARCHAR
AS
BEGIN
if (@input = '' OR @input = 0)
BEGIN
RETURN null
END
return @input
END
SELECT [dbo].[SetDBNullNvarChar](0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.