i a*_*man 6 sql postgresql timestamp
有没有办法将日期转换为时间戳。例如,如果我有一个类似的日期2012/05/01,我如何将其转换为时间戳2012-05-01 00:00:01
您可以timestamp使用以下代码将其转换为 a :
SELECT current_date::timestamp
Run Code Online (Sandbox Code Playgroud)
它将直接将时间分配00:00:00给current_date。
您可以将日期列转换为文本,然后与时间戳的时间部分连接。在下面的查询中,我从当前日期创建了一个时间戳。
select (cast(current_date as text) || ' 00:00:01'):: timestamp
from yourTable;
Run Code Online (Sandbox Code Playgroud)
或者如果我们已经有一个日期类型,我们可以简单地添加时间组件:
select current_date + '00:00:01'::time
Run Code Online (Sandbox Code Playgroud)
输出:
11.07.2017 00:00:01
Run Code Online (Sandbox Code Playgroud)
更新:
如果您只想要两个日期之间的月份差异,您可以使用以下内容:
DATE_PART('month', AGE(end_date, start_date))
Run Code Online (Sandbox Code Playgroud)
当然,这里不涉及时间组件,但假设您计划将虚拟对象分配00:00:01给两个时间戳,结果不会改变。