Использование функции LEFT с функцией LEN - PullRequest
2 голосов
/ 10 января 2012

Я пытаюсь написать функцию, которая обрежет первые 4 символа в поле. Например, если значение поля равно ABC_123_EFG, оно вернет 123_EFG. Я пытался использовать комбинацию функций LEFT и LEN , но безуспешно.

Вот то, что я думаю, должно быть ...

RIGHT(code, LEN(code) - 4) AS code_concat

Но с этой ошибкой ничего не получается

Msg 536, Level 16, State 2, Line 2
Invalid length parameter passed to the RIGHT function.

Что я делаю не так? Это лучший способ сделать это?

Ответы [ 3 ]

6 голосов
/ 10 января 2012

Использование substring:

 substring(code, 5, 1000)

Или, если это varchar(max):

 substring(code, 5, len(code))
3 голосов
/ 10 января 2012

попробуйте это ..

select isnull(RIGHT(code, LEN(code) - 4),'') AS code_concat
1 голос
/ 10 января 2012

stuff - приятная маленькая функция, которая очень полезна при изменении строк.

select stuff(code, 1, 4, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...