DECLARE @text VARCHAR(50)='Test-1234'
SELECT @text, LEFT(@text, CHARINDEX('-', REVERSE(@text)) - 1) batch
Yukarıdaki query de soldan başlayarak "-" karakterini bulana kadar sorgulama yapar. Kısmen işini çözebilir.
Bu şekilde text içerisinde herhangi bir yerde "-" karakteri birden fazla geçiyor ise hatalı olabilir.. aşağıdaki yöntem ile sağdan başlayarak yakalamaya çalışır senin örneğine göre doğru çözüm yöntemi alttaki gibi sanırım.
DECLARE @text VARCHAR(50)='Test-1234'DECLARE @repl VARCHAR(50)
SELECT @repl= RIGHT(@text, CHARINDEX('-', REVERSE(@text)) )
SELECT REPLACE(@text,@repl,'')