Create this function.. then run against your table
GO
CREATE FUNCTION udf_LastPosOfCapLetter (@String VARCHAR(500))
RETURNS int
AS
BEGIN
DECLARE @return VARCHAR(50)
DECLARE @position INT
SET @position = 1
WHILE @position <= DATALENGTH(@string)
BEGIN
DECLARE @Pos int = ASCII(SUBSTRING(@string, @position, 1))
IF @Pos BETWEEN 65 AND 90 OR @Pos =46
SELECT @return = 0
ELSE
BEGIN
SELECT @return = 1
BREAK
END
IF @Return <> 1
SET @position = @position + 1
END
RETURN @position-1
END
GO
--SELECT dbo.udf_LastPosOfCapLetter('ABS.PAT.name')
GO
--test with your table.. just replace @tab with your table name and column name c1
DECLARE @tab TABLE(c1 VARCHAR(30) )
insert into @tab VALUES('ABS.PAT.calendar.two'), ('ABS.PAT.name'),('ABS.DRG.LIST.drg.code'),('BAR.PAT.account.number')
SELECT RIGHT(c1, LEN(c1)- dbo.udf_LastPosOfCapLetter(c1)) FROM @tab
GO
--
Chandu