sql >> Base de Datos >  >> RDS >> Mysql

MySQL cómo convertir valor decimal a grado, minuto, segundo

Así es como,

  • Todas las unidades de grados seguirán siendo las mismas (es decir, en 121.135° de longitud, comience con 121°).
  • Multiplica el decimal por 60 (es decir, 0,135 * 60 =8,1).
  • El número entero se convierte en minutos (8').
  • Tome el decimal restante y multiplíquelo por 60. (es decir, .1 * 60 =6).
  • El número resultante se convierte en segundos (6"). Los segundos pueden permanecer como decimales.
  • Tome sus tres conjuntos de números y júntelos, usando los símbolos de grados (°), minutos (‘) y segundos (") (es decir, 121°8'6" de longitud)

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

DEMOSTRACIÓN DE SQLFIDDLE

Herramienta de conversión en línea (para comprobar)