SQL Server 在子字符串中使用条件

clo*_*311 5 sql sql-server substring sql-update

我有一个数据字段,其中包含这样的帐号

16530907-00
16530907-0001

16589553-00
16589553-00
Run Code Online (Sandbox Code Playgroud)

我想选择连字符右侧的所有内容,然后如果该子字符串的长度 >2,我想更新该字段并将其设置为自身减去右侧的两个额外数字。

我正在练习 select 语句

Select SUBSTRING(Account, CHARINDEX('-'), Account)+1, LEN(Account) as test
FROM Documents
WHERE SubmissionID=45925 and LEN(test)>2
Run Code Online (Sandbox Code Playgroud)

这是行不通的。我真正想做的是创建一个更新语句,测试连字符右侧的字符是否超过 2 个字符,然后截断任何多余的字符。

任何建议,将不胜感激。谢谢

clo*_*311 2

感谢大家的意见和建议。我使用了这里的一些内容来设计一个我认为对我来说很有效的解决方案。这里是。

Update Documents
Set Acount=LEFT(Account,Len(Account)-2)
WHERE Submid=41632 AND Account LIKE '%-____'
Run Code Online (Sandbox Code Playgroud)

(感谢@Richard 的最后一点!')