Извините за добавление третьего ответа, но это - опять же - совершенно новый подход.
Если вам нужна первая пара координат в формате, который вы указали в своем вопросе, это настоящий лайнер:
DECLARE @YourString VARCHAR(1000)='20.45847832-73.99704207,20.45868114-73.99712939,20.45849913-73.99750285,20.45831804-73.99736981,20.45848571-73.99702964,20.45851507-73.99715704,20.45852753-73.99720817,20.45849614-73.99728646,';
SELECT 'log:' + STUFF(LEFT(@YourString,PATINDEX('%,%',@YourString)-1),PATINDEX('%-%',@YourString),1,' lat:');
Результат
log:20.45847832 lat:73.99704207
ОБНОВЛЕНИЕ согласно вашим комментариям
Попробуйте это
DECLARE @mockupTable TABLE(tagdata VARCHAR(1000));
INSERT INTO @mockupTable VALUES('20.45847832-73.99704207,20.45868114-73.99712939,20.45849913-73.99750285,20.45831804-73.99736981,20.45848571-73.99702964,20.45851507-73.99715704,20.45852753-73.99720817,20.45849614-73.99728646,');
SELECT FirstPair
,LEFT(FirstPair,PATINDEX('%-%',FirstPair)-1) AS lon
,SUBSTRING(FirstPair,PATINDEX('%-%',FirstPair)+1,1000) AS lat
FROM @mockupTable t
CROSS APPLY(SELECT LEFT(tagdata,PATINDEX('%,%',tagdata)-1)) A(FirstPair);