I'm out for the night but this might get you started.. it will get all the text between the first '.' and the last '.'
NOTE: This is different than the first and second as it will still do first and last even if there are more than 2 '.' in a string.
declare @textfield varchar(255)
set @textfield = '123.qwerty.abc'
select substring(@textfield,charindex('.',@textfield),len(@textField)-charindex('.',reverse(@textfield))- charindex('.',@textfield))