postgreSQL中如何设置now()返回的类型
PostgreSQL中的now()
函数返回一个timestamp with time zone
类型的当前日期和时间。如果你想要改变now()
返回值的类型,你可以使用::
类型转换操作符或者CAST
语句。
例如,如果你想要now()
返回一个timestamp
类型(没有时区信息),你可以这样做:
SELECT now()::timestamp;
或者使用CAST
函数:
SELECT CAST(now() AS timestamp);
如果你想要返回一个date
类型(只有日期部分),可以这样:
SELECT now()::date;
或者
SELECT CAST(now() AS date);
对于时间部分,可以这样:
SELECT now()::time;
或者
SELECT CAST(now() AS time);
请注意,你不能直接改变now()
的返回类型为interval
,因为它不支持这种类型转换。如果你需要一个间隔(比如从现在开始的时间),你可以这样做:
SELECT '0 seconds'::interval + now();
这将返回一个timestamp with time zone
类型的值,加上了0秒的间隔。
评论已关闭