I want to perform a task if the input string contain any accented characters else do another task in SQL. Is there any way to check this condition in SQL ?
Eg:
A Crude way is to check ASCII( for each character. Something like this
DECLARE @MyString NVARCHAR(100)
SET @MyString = N'àéêöhello!'
;WITH N as
(
SELECT 1 r UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1
), Numbers
as
(
SELECT RN = ROW_NUMBER()OVER(ORDER BY N1.r) FROM N as N1 CROSS JOIN N as N2
)
SELECT MAX(CASE WHEN ASCII(SUBSTRING(@MyString,RN,1)) >= 128 THEN 1 ELSE 0 END) ContainsAccentedChars FROM Numbers
WHERE RN <= LEN(@MyString)