2016-04-19 25 views
2

テーブルのstartTimeとendTimeフィールドにtime型のフィールドがあります。クエリで取得しようとすると、データテーブルの値が正しい場合でも時間の値が間違って表示されます。 クエリは次のとおりです。データベースから正しい時刻を取得できません

SELECT 
    ts.id, 
    ts.serviceRuleId, 
    FROM_UNIXTIME(ts.startTime, '%h %i %p') AS tempStrtTime, 
    FROM_UNIXTIME(ts.endTime, '%h %i %p') AS tempEndTime, 
    ts.createdBy, 
    ts.createdOn, 
    ts.startDate, 
    ts.endDate 
FROM 
    TemporaryTimeSlots AS ts 
GROUP BY 
    ts.id 
+0

が行う正しい結果を得るでしょうしていますこのクエリは、mysqlプロンプトで直接実行すると、望ましい結果が得られますか?はいの場合は、実装したコードを表示します。 – JammuPapa

+0

@ JammuPapaそれはmysqlのプロンプトで希望の結果を与えていません – rParvathi

+0

あなたの質問には何か問題があります。最初に修正する必要があります:) – JammuPapa

答えて

1

なぜあなたが使用しているFROM_UNIXTIMEなど

あなたはJavaを使用して、そうSQL.Dateオブジェクトを使用して、

select ts.id, ts.serviceRuleId,ts.startTime as tempStrtTime, ts.endTime as tempEndTime, ts.createdBy, ts.createdOn, ts.startDate, ts.endDate from TemporaryTimeSlots as ts group by ts.id 
+0

時間は24時間形式で保存されています。 pm – rParvathi

+1

SimpleDateFormatを使用してDateをそのまま取得し、SimpleDateFormatを使用してJavaで必要なものにフォーマットし直します。 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html –

+0

OK。ありがとうございました:) – rParvathi

関連する問題