在SQL Server函数中返回可空类型

Dof*_*ofs 2 sql 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
Run Code Online (Sandbox Code Playgroud)

Jus*_*ner 6

SQL中的任何数据类型都可以设置为null,除非对其施加非null限制.因此,您应该能够使用最适合您需求的返回类型......

在您的调用代码中,您必须检查返回的值是否等于DBNull.Value并让您的代码相应地执行操作.