1

私は小数の値を言います123.77

ここで、MySQLを使用して対応する、、値degreeに変換したいと思います。私はいくつかの方法を試しましたが、正しい答えを得ることができません。助けてください。minutesecond

4

3 に答える 3

1

方法は次のとおりです。

  • 度の単位全体は同じままです (つまり、経度 121.135° では、121° から始まります)。
  • 10 進数に 60 を掛けます (つまり、.135 * 60 = 8.1)。
  • 整数は分 (8') になります。
  • 残りの小数を取り、60 を掛けます (つまり、.1 * 60 = 6)。
  • 結果の数値は秒 (6") になります。秒は小数として残すことができます。
  • 度 (°)、分 (')、秒 (") の記号を使用して、3 組の数字を組み合わせます (つまり、経度 121°8'6")。

クエリ、

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 デモ

オンライン変換ツール(確認用)

ここに画像の説明を入力

于 2012-09-19T13:37:43.090 に答える