-1

日付列タイプが。のMySQLデータベースを継承しましたVarchar

列には10進文字列が含まれています。例:41143.646585648

これをDateTime形式に変換するにはどうすればよいですか?

4

2 に答える 2

0

知っておく必要があるのは、元の開発者が値ゼロとして定義した日付だけです。次に、その日付に整数の日数を加算し、小数部分に86400を掛けて秒を取得し、算術演算を実行して時、分、秒を決定するだけです。

実際の日付と保存された値がわかっている行がある場合は、減算によってゼロの日付を簡単に判別できます。

于 2013-01-10T00:27:54.270 に答える
0

ドットを文字列で置き換えることはできますが、残りの数字の数が UNIX タイムスタンプとしては多すぎます。日付が 10 進数に変換された方法がわかりません。文字列を置き換えるのではなく、文字列を分割する必要があるかもしれません。

おそらく、このコードは解決策のアイデアを提供します:

#SELECT FROM_UNIXTIME(REPLACE('41143.646585648', '.', '')); # Does not work due to wrong amount of numbers in string

SELECT FROM_UNIXTIME(REPLACE('13577.77916', '.', '')); # works
于 2013-01-10T00:35:53.870 に答える