Нужна помощь в создании функции, которая возвращает TRUE или FALSE. TRUE - если тип 1 или 3 слова (например, '__hello_', '_hello', '_hello мой френд' - помещения должны быть сокращены), если условие не выполнено FALSEФункция проверки входного числа слов
CREATE FUNCTION dbo.nazvFac(@f nvarchar(30))
RETURNS bit
AS
BEGIN
DECLARE @l int = 1, @s nvarchar(30), @i int = 0, @b bit
WHILE LTRIM(RTRIM(LEN(@f))) >= @l --error here, but I do not know how to fix it
BEGIN
SET @s = SUBSTRING(@f, @l, 1)
IF @s BETWEEN 'А' AND 'я'
SET @l += 1
ELSE IF @s = ' '
BEGIN
SET @l -= 1
SET @s = SUBSTRING(@f, @l, 1)
SET @s = RTRIM(@s)
SET @l += 2
SET @i += 1
END
ELSE
BREAK
END
IF @i = 0 OR @i = 2
SET @b = 'TRUE'
ELSE
SET @b = 'FALSE'
RETURN @b
END
GO
"* Джентльмены программисты *" => Есть программисты, которые тоже дамы, вы знаете! –