2017-12-08 10 views
0

私は私の会社のスペアパーツをリストしたテーブルを作成しました。

SQL:DATE_TIMEとCURRENT_TIMESTAMPを正しく計算するには?

ID | Name | install_date | last_changed | order_nr. | WearStatus 
---------- 
1 | "ABC" | **2017-11-08 10:34:40** | NULL | 123456 | **50**<br> 
2 | "DEF" | **2017-11-08 10:34:40** | NULL | 654321 | **10**<br> 


表は次のようになります。

スペアパーツを変更する必要がある未来日付を計算したいと思います。例:
12月11日にパートをインストールしました。12月11日の10日後にこのパートに50%の着用がありました。

私の計算は3式の規則に従って次のとおりです。時間=(100 *デルタT)/ Iは、次のSQLコマンドを使用し

を着用してください:

SELECT ((100*(CURRENT_TIMESTAMP - First_Usage)/Wear) + First_Usage) As 'Change_Date' FROM spare_parts 

して、次のように取得します結果:

enter image description here

あなたがそこにARが表示された場合いくつかの狂ったDATE_TIMESのような2017-19-41-43-19-31のようなe。

私の質問は次のとおりです:YYYY-MM-DD hh:mm:ssのように、この「数値」を便利なDATE_TIME形式にフォーマットするにはどうすればよいですか? MySQLは日付の間隔が機能していolredy

SELECT DATE(DATE_ADD(First_Usage, INTERVAL (100*(DATEDIFF(NOW(),First_Usage)/Wear)) day)) As 'Change_Date' FROM spare_parts 

または

SELECT FROM_UNIXTIME((100*(CURRENT_TIMESTAMP - UNIX_TIMESTAMP(First_Usage))/Wear) + UNIX_TIMESTAMP(First_Usage))) As 'Change_Date' FROM spare_parts 
+0

INSTALL_DATEは、日時フィールドであるのですか? – farbiondriven

+0

TO_DATE(あなたが使っている表現)を試しましたか? – bharathkumarch

+0

はい、DATE_TIMEです。 WearStatusは整数です。結果(Change_Date)もDATE_TIMEにする必要があります。挨拶 – Toberto

答えて

1


種類はトビー

関連する問題