sql >> Databasteknik >  >> RDS >> Mysql

MySQL hur man konverterar decimalvärden till grad, minut, sekund

Så här gör du,

  • Hela enheterna för grader förblir desamma (dvs. i 121.135° longitud, börja med 121°).
  • Multiplicera decimalen med 60 (dvs. 0,135 * 60 =8,1).
  • Heltalet blir minuter (8').
  • Ta den återstående decimalen och multiplicera med 60. (dvs. .1 * 60 =6).
  • Det resulterande talet blir sekunderna (6"). Sekunder kan finnas kvar som en decimal.
  • Ta dina tre uppsättningar siffror och sätt ihop dem med hjälp av symbolerna för grader (°), minuter (') och sekunder (") (dvs. 121°8'6" longitud)

Fråga,

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

Onlinekonverteringsverktyg (för kontroll)



  1. Generiskt dödat fel i PHP-skript

  2. MySQL-tabell PRIMÄR NYCKELfråga?

  3. Kolumn beroende av annat kolumnvärde

  4. Doctrine Query Language få max/senaste raden per grupp