gpt4 book ai didi

sql - PostgreSQL 转换数据

转载 作者:行者123 更新时间:2023-11-29 12:55:46 24 4
gpt4 key购买 nike

我有一个名为 temperature 的表,其中包含 5 列:centre date tmpmax tmpmin rrquot, date tmpmax tmpmin rrquot 存储为字符varying 并且我需要将它们转换为 double precision 以便操纵它们来计算一些统计数据。我使用了以下 SQL 命令:

ALTER TABLE public.temperature
ALTER COLUMN "TMPMAX" TYPE double precision
USING cast("TMPMAX" AS double precision)

但它不适用于整个表格,因为有些单元格包含 ''(无)。

关于日期列,有没有办法将其转换为日期类型(数据以这种格式存储:YYYYMMDD ex. 20030122)和YYYY -MM-DD 格式 ex. 1968-01-13

请帮助解决这两个问题。

最佳答案

您可以在 USING 中使用条件,如下所示:

t=# create table s106 (i text);
CREATE TABLE
t=# insert into s106 values ('1'),('');
INSERT 0 2
t=# alter table s106 alter COLUMN i type double precision
t-# USING cast(i AS double precision);
ERROR: invalid input syntax for type double precision: ""

有条件的:

t=# alter table s106 alter COLUMN i type double precision
USING cast(case when length(i) < 1 then null else i end AS double precision);
ALTER TABLE

关于sql - PostgreSQL 转换数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43784235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com