pgsql如何将一列“20220903193757”类型数据转换为“yyyy-MM-dd hh24:mi:ss”
时间: 2024-03-14 22:45:34 浏览: 83
ruian2pgsql:将 RÚIAN 数据转换为 PostgreSQL 数据库
你可以使用 PostgreSQL 内置的日期/时间函数来实现。假设你有一列名为 "datetime_str" 的字符串类型的列,其中包含了类似 "20220903193757" 的数据,你可以使用以下语句将其转换为日期时间格式 "yyyy-MM-dd hh24:mi:ss" 并插入到一个新列 "datetime" 中:
```
ALTER TABLE your_table ADD COLUMN datetime TIMESTAMP;
UPDATE your_table SET datetime = to_timestamp(datetime_str, 'YYYYMMDDHH24MISS')::timestamp without time zone
```
这将在原有表的基础上添加一个新列 "datetime",并将 "datetime_str" 中的数据转换为日期时间格式插入到 "datetime" 列中。
其中,to_timestamp 函数用于将字符串转换为时间戳,第一个参数是需要转换的字符串,第二个参数是指定字符串的时间格式。在这里,我们使用 'YYYYMMDDHH24MISS' 指定了字符串的格式,其中YYYY表示4位年份,MM表示2位月份,DD表示2位日期,HH24表示24小时制的小时数,MI表示2位分钟数,SS表示2位秒数。
最后,使用 "::timestamp without time zone" 将结果转换为 timestamp 类型(去掉时区信息)。
阅读全文