我正在尝试编写一个函数,它将切断字段中的前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 个答案:
答案 0 :(得分:6)
使用substring
:
substring(code, 5, 1000)
或者,如果它是varchar(max)
:
substring(code, 5, len(code))
答案 1 :(得分:3)
试试这个..
select isnull(RIGHT(code, LEN(code) - 4),'') AS code_concat
答案 2 :(得分:1)
stuff是一个不错的小函数,在修改字符串时非常有用。
select stuff(code, 1, 4, '')