Wer hat noch nicht?
T-SQL
Sich evtl. selbst ein T-SQL-Funktion geschrieben, welche bei einem Vergleich mit NULL true zurückliefert?
Kategorie Sich evtl. selbst ein T-SQL-Funktion geschrieben, welche bei einem Vergleich mit NULL true zurückliefert?
evtl. sah diese auch so aus ->
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/****** OBJECT: USER DEFINED FUNCTION DBO.FN_MAXDATE SCRIPT DATE: 08.05.2008 16:01:25 ******/
ALTER FUNCTION [dbo].[FN_COMPARE](@Value1 varchar, @Value2 varchar) RETURNS bit AS
BEGIN
declare @result bit
set @result =
case
when @value1 is null and @value2 is null then 1
when @value1 is null or @value2 is null then 0
when @value1 = @value2 then 1
else 0
end
return @result
END
Was hierbei gerne übersehen wird: SET ANSI_NULLS ON.
Würde man SET ANSI_NULLS OFF setzen, dann liefert folgender vergleich VALUE = NULL, true, wenn VALUE = NULL ist
Gruß JJR
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/****** OBJECT: USER DEFINED FUNCTION DBO.FN_MAXDATE SCRIPT DATE: 08.05.2008 16:01:25 ******/
ALTER FUNCTION [dbo].[FN_COMPARE](@Value1 varchar, @Value2 varchar) RETURNS bit AS
BEGIN
declare @result bit
set @result =
case
when @value1 is null and @value2 is null then 1
when @value1 is null or @value2 is null then 0
when @value1 = @value2 then 1
else 0
end
return @result
END
Was hierbei gerne übersehen wird: SET ANSI_NULLS ON.
Würde man SET ANSI_NULLS OFF setzen, dann liefert folgender vergleich VALUE = NULL, true, wenn VALUE = NULL ist
Gruß JJR