Строковые функции 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))
эквивалентные выражения.