Проблема с запросами второго и третьего типа заключается в том, что символ '%' используется для обозначения любой последовательности символов (включая пустую строку), а не конкретного символа. Поэтому запросы не работают ожидаемым образом.
Для фильтрации по первому и последнему символам строки в MS SQL можно использовать функции SUBSTRING и LEN. Например:
```
-- Фильтрация по первому символу 'S' и последнему символу 'n'
SELECT id, name
FROM testtable
WHERE SUBSTRING(name, 1, 1) = 'S' AND SUBSTRING(name, LEN(name), 1) = 'n';
```
В данном запросе мы указываем условия для первого символа (SUBSTRING(name, 1, 1) = 'S') и последнего символа (SUBSTRING(name, LEN(name), 1) = 'n') строки. Таким образом, мы можем правильно отфильтровать данные по первому и последнему символам.