postgresql中已经通过时间戳的形式保存时间,如何利用sql语句生成新的一列,将时间戳转换为东八区的格式
时间: 2024-03-10 20:51:26 浏览: 173
读取XLSX文件转SQL语句
要将 PostgreSQL 中已经保存为时间戳格式的时间值转换为东八区的格式并生成新的一列,您可以使用以下 SQL 语句:
```sql
ALTER TABLE your_table ADD COLUMN new_column TIMESTAMP WITH TIME ZONE DEFAULT NULL;
UPDATE your_table SET new_column = timestamp 'epoch' + your_timestamp_column * INTERVAL '1 second' AT TIME ZONE 'Asia/Shanghai';
```
其中,`your_table` 是您要更新的表名,`your_timestamp_column` 是已经保存为时间戳的列名,`new_column` 是您要生成的新列名。
在上面的 SQL 语句中,`new_column` 是一个 `TIMESTAMP WITH TIME ZONE` 类型的列,它的默认值为 `NULL`。然后,使用 `UPDATE` 语句将原来的时间戳列转换为东八区的时间格式,并将结果存储到新生成的列中。
请注意,`AT TIME ZONE 'Asia/Shanghai'` 部分指定了要将时间戳转换为东八区的时间格式。如果您想将时间戳转换为其他时区的时间格式,请将其替换为相应的时区名称即可。
阅读全文