numaralı makalede bu çok basit görünmüyor. Ben bu baktım ama SQL kullanıcı tanımlı fonksiyonlar ve onların kullanımı çok iyi değilim, bu yüzden neler olup bittiğinden emin değilim. Bunun içinSQL kullanıcı tanımlı işlevi, boole döndüren işlevi çalıştırarak,
An expression of non-boolean type specified in a context where a condition is expected, near ')'.
:
UPDATE LMI_Contact
SET Phone = NULL
WHERE dbo.LMI_IsSingleCharacterRepeated(Phone, '0')
fonksiyonu kullanılarak oluşturulabilir:
-- ***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
Bu fonksiyon Kim neden hata alıyorum söylediğin için birkaç noktayı sanan Bir dizgenin herhangi bir tek karakterli olup olmadığını kontrol etmek içindir, tekrarlanır. Umarım birisi yararlı bulur!
dikkat - aynı zamanda boş değerler veya boş dize ile alanları bulacaksınız benim işlevi, bu yüzden gerçekten biraz daha fazla iş –