pgsql如何将一列“20220903193757”类型数据转换为“yyyy-MM-dd hh24:mi:ss”
时间: 2024-03-14 07:45:34 浏览: 29
你可以使用 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 类型(去掉时区信息)。
相关问题
pgsql将字符串转换为“yyyy-MM-dd hh24:mi:ss”
您可以使用to_char函数将日期类型转换为指定格式的字符串,示例如下:
SELECT to_char(now(), 'YYYY-MM-DD HH24:MI:SS');
其中,now()返回当前日期和时间,'YYYY-MM-DD HH24:MI:SS'是您需要的日期格式字符串,to_char函数将日期转换为指定格式的字符串。
pgsql将“20230101202218”转换为“yyyy-MM-dd hh24:mi:ss”
您可以使用 to_timestamp 函数将 "20230101202218" 转换为 "yyyy-MM-dd hh24:mi:ss" 的格式,具体如下:
```
SELECT to_timestamp('20230101202218', 'YYYYMMDDHH24MISS')::timestamp without time zone;
```
这会将字符串转换为 timestamp 类型,并去掉时区信息,最终输出的格式为 "yyyy-MM-dd hh24:mi:ss"。