Hope das scheint nicht zu einfach. Ich habe nachgeschlagen, aber ich bin nicht so gut in SQL benutzerdefinierte Funktionen und deren Verwendung, so dass ich nicht sicher bin, was los ist. Wer glaubt, ein paar Punkte für das Erklären Sie mir, warum ich erhalte die Fehlermeldung:Ausführen von benutzerdefinierten SQL-Funktion, die Boolean zurückgibt, in WHERE-Klausel
An expression of non-boolean type specified in a context where a condition is expected, near ')'.
Dazu:
UPDATE LMI_Contact
SET Phone = NULL
WHERE dbo.LMI_IsSingleCharacterRepeated(Phone, '0')
, wo die Funktion kann folgendermaßen angelegt werden:
-- ***this will also find NULL and empty string values***
CREATE FUNCTION LMI_IsSingleCharacterRepeated (@string varchar(max), @char char(1))
RETURNS bit
AS
BEGIN
DECLARE @index int
DECLARE @len int
DECLARE @currentChar char(1)
SET @index = 1
SET @len= LEN(@string)
WHILE @index <= @len
BEGIN
SET @currentChar = SUBSTRING(@string, @index, 1)
IF @currentChar = @char
SET @index= @index+ 1
ELSE
RETURN 0
END
RETURN 1
END;
GO
Diese Funktion dient zum Überprüfen, ob eine Zeichenfolge ein bestimmtes einzelnes Zeichen ist, wiederholt. Hoffe jemand findet es nützlich!
Vorsicht - meine Funktion auch Felder mit Nullwerten oder einer leeren Zeichenfolge finden, braucht also wirklich ein wenig mehr Arbeit –