Veja como,
- Todas as unidades de graus permanecerão as mesmas (ou seja, em 121,135° de longitude, comece com 121°).
- Multiplique o decimal por 60 (ou seja, 0,135 * 60 =8,1).
- O número inteiro se torna os minutos (8').
- Pegue o decimal restante e multiplique por 60. (ou seja, .1 * 60 =6).
- O número resultante se torna os segundos (6"). Os segundos podem permanecer como um decimal.
- Pegue seus três conjuntos de números e junte-os, usando os símbolos para graus (°), minutos (') e segundos (") (ou seja, 121°8'6" de longitude)
Consulta,
SET @deci = 123.77;
SELECT FLOOR(@deci) Degrees,
FLOOR((@deci - (FLOOR(@deci))) * 60) Minutes,
((@deci - (FLOOR(@deci))) * 60 -
FLOOR((@deci - (FLOOR(@deci))) * 60)) * 60 SECONDS
SQLFIDDLE DEMO
Ferramenta de conversão online (para verificação)