PostgreSQL中的列是否有默认值Unix时间戳?
问题描述:
我不知道为什么,但我喜欢使用Unix时间戳。也许是因为我需要用数字来计算时间,例如时间() - 604800。PostgreSQL中的列是否有默认值Unix时间戳?
现在我有整数列whereto我插入时间()的结果。我认为这是不正确的方式,是吗?有没有默认值 - UNIX时间戳?
答
你应该摆脱在数据库中使用unix时间戳的习惯。 PostgreSQL有really awesome date functions,如datetimecol - interval '1 week'
。它还可以使用extract(epoch from datetimecol)
轻松转换为unix时间戳。
无论如何,你可以使用extract(epoch from now())
为你列的默认值。
我认为它来自MySQL,在我使用它之前我不喜欢时间函数。最近我已经决定MySQL不适合我的需求,我选择了PgSql。 :) – 2012-04-24 08:49:49
猜对了。把它作为摆脱坏习惯的理由。如果你使用的PHP也开始使用PDO或至少['pg_query_params()'](http://php.net/manual/en/function.pg-query-params.php)而不是转义。 – ThiefMaster 2012-04-24 08:50:54
当然,我正在使用PDO_pgsql。 – 2012-04-24 09:00:22