Привет Я пишу некоторые методы кода TSQL, пытаясь подсчитать гласные, строчные и прописные буквы в строке, мой код работал на гласные, но почему-то он считает все буквы строчными буквами. мой код:TSQL count uppcase и строчные буквы
DECLARE @name VARCHAR(200) ='Abc Efg Hij'
DECLARE @i int = 1
DECLARE @numVowels int = 0
DECLARE @numLower int = 0
DECLARE @numUpper int = 0
WHILE @i <= LEN(@name)
BEGIN
IF PATINDEX('%' + LOWER(SUBSTRING(@name, @i, 1)) + '%', 'aeiou') > 0
BEGIN
SET @numVowels += 1
END
IF SUBSTRING(@name, @i, 1) BETWEEN 'a' AND 'z'
BEGIN
SET @numLower += 1
END
ELSE IF SUBSTRING(@name, @i, 1) BETWEEN 'A' AND 'Z'
BEGIN
SET @numUpper += 1
END
PRINT SUBSTRING(@name, @i, 1)
SET @i +=1
END
PRINT 'There are ' + CAST((@numVowels) AS VARCHAR(200)) + ' vowels'
PRINT 'There are ' + CAST((@numLower) AS VARCHAR(200)) + ' lower-case letters'
PRINT 'There are ' + CAST((@numUpper) AS VARCHAR(200)) + ' upper-case letters'
Пожалуйста, помогите, спасибо
большое спасибо @ybo! Я счастлив, пока работает 'Latin1_General_BIN'. –
Если вы считаете, что это правильный ответ, отметьте его как таковое, спасибо! – ybo