postgresql - Postgresql SELECT CURRENT_TIMESTAMP 不显示时区
问题描述
最初我有一个名为“created_at”的时间戳列,设置如下:
- 类型:带时区的时间戳
- 默认值:transaction_timestamp()
但是,我注意到插入新记录时“created_at”的值不包括尾随时区。
然后我试着跑
SELECT CURRENT_TIMESTAMP;
奇怪的是,它只返回(我复制粘贴下面的值)
2020-06-03 16:55:36.637892
在此处阅读本手册:
https://www.postgresql.org/docs/8.2/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT
我希望在运行上述语句时也能获得时区信息。
我使用 Datagrip 作为我的 IDE 来执行上述操作。
有谁知道为什么?
解决方案
连接时区的时间戳和 current_setting 为您提供预期值,您可以使用以下任何语法
SELECT CURRENT_TIMESTAMP|| ' ' ||current_setting('TIMEZONE');
SELECT now()|| ' ' ||current_setting('TIMEZONE');
您将获得您的时区的当前设置使用select current_setting('TIMEZONE');
这将为您提供所有时区,供您参考SELECT * FROM pg_timezone_names;
推荐阅读
- php - 参数太多,预期参数“命令”“sql”
- java - 如何从 IProject 中获取 Bundle-SymbolicName?
- c# - 我无法使用 c# 在 winium 中选择颜色选择器
- tensorflow - Valgrind 显示 TF_Session 泄漏
- docker - 如何通过docker管理连接拒绝错误elasticsearc-kibana-nginx?
- javascript - Angular 10 - 拖动时不触发(单击)功能
- tensorflow - cuda安装的tensoflow正在使用哪个安装版本?
- c - 如何使用指针访问和使用函数中的不同值?
- c# - 将 Admob 广告集成到 Unity3D 游戏中
- google-data-studio - 使用 SVG 在 Google Data Studio 中创建自定义可视化