Мне нужно создать функцию SQL Server, чтобы проверить, содержит ли строка ввода любые символы в верхнем регистре. Если да, то он должен вернуть «ОК». Если нет, он должен вернуть «NOT OKAY».Функция проверки, содержит ли строка символы верхнего регистра?
Когда выполняются приведенные ниже операторы, он должен возвращать ожидаемые значения, как показано ниже.
PRINT dbo.CheckStringOfUpperAlphaOK('abc') -- Expected: "NOT OK"
PRINT dbo.CheckStringOfUpperAlphaOK('ABC') -- Expected: "OK"
Это то, что я пробовал, но я не знаю, чтобы указать возвращаемые значения, как указано выше.
CREATE FUNCTION CheckStringOfUpperAlphaOK (@String varchar(MAX))
RETURNS VARCHAR(6)
AS
BEGIN
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^ ][A-Z]%'
While PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues collate
Latin1_General_Bin, @Temp) + 1, 0, ' ')
RETURN @Temp
END
Покажите нам ваши текущие усилия! Где вы застряли? В чем проблема, с которой вы столкнулись? –
Что такое '@ Temp' ?? Он нигде не определен - ни как параметр, ни как локальная переменная ... –
ожидаемые возвращаемые значения должны быть присвоены @temp – Ayyub