2016-02-10 34 views
1

在java中我有一个字段类型:的java.sql.Time长的转换时间

我想它存储在类型长到PostgreSQL。我在Postgresql中创建了一个视图,我想将它显示为时间格式(HH:mm)。我可以这样做吗?

请帮忙

+0

您可以将时间转换为整数(秒)并将其存储在长字段中。在阅读期间,只需从中提取小时和分钟。你为什么要在bigint中存储一段时间(我认为你的意思是说PostgreSQL的bigint长)? –

+0

Postgres中没有PL/SQL(这是Oracle)。相当于PL/pgSQL,但只能用于存储的功能,而不能用于视图。我删除了plsql参考 –

+1

另外:如果您只是将时间存储在“时间”列中,则会更容易。你为什么要把它作为一个长期价值存储? –

回答

2

请不要这样做。我们有时间类型!

select to_char((46400/86400.0) * interval '24 hours', 'HH:MI'); 
to_char 
--------- 
12:53 
(1 row) 
+0

我不想将我的时间转换为秒,我将getTime()存储为long,当我将它返回时,我使用setTime(long),所以我不需要转换。我使用时间数据类型,因为我的应用程序在我的视图中使用ZK时间框用于用户输入数据 –

+0

@SeSong所以在你说的问题中“我想将它存储到long类型的postgresql中,我在Postgresql中创建了一个视图,我想要显示它到时间格式(HH:mm),我可以这样做吗?“这就是这个问题的答案。现在你说你不想将它存储为长时间并显示它作为时间?我不清楚你还有什么意思。 –

+0

你的方法是将时间转换为秒,但Java Time.getTime()在今天中午12:00 PM等于1,455,170,400,000毫秒。但有一天只有86,400,000毫秒。 java时间可能包含日期。 –