Строковые функции T-SQL: разница между использованием Left / Right и Substring и странным поведением

Я использую SQL Server 2008 и 2005 (Express). Я пытаюсь извлечь часть буквенно-цифровой строки из поля varchar.

RIGHT(str_field, 3) дает нулевые значения, ноSUBSTRING(str_field, LEN(str_field)-2, LEN(str_field)) дает правильное значение.LEFT(str_field, 7) дает ожидаемые значения. Что дает?

Я бы подумал чтоRIGHT(str_field, 3) а такжеSUBSTRING(str_field, LEN(str_field)-2, LEN(str_field)) эквивалентные выражения.

Ответы на вопрос(1)

Ваш ответ на вопрос