更改表命令应跳过postgresql的所有空值

lrpiutwd  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(146)

我正在抓取一个excel工作表并将其推送到postgresql数据库中。在推的过程中,脚本将“text”数据类型分配给所有列。表中有一些日期时间字段,所以我必须将它们更改为日期格式。我为同一个字段编写的查询如下所示:

alter table table_name 
   alter column column_name type DATE 
   using to_timestamp(column_name, 'DD/MM/YYYY HH24:MI:SS');

这里的问题是,在excel工作表中,有一些空行。当我启动此查询时,它会为空行分配一个默认的时间戳。在修改表时,如何跳过空行?
先谢谢你。

8zzbczxx

8zzbczxx1#

像这样的选择会导致

select to_timestamp('', 'DD/MM/YYYY HH24:MI:SS');

| 到时间戳(_T)|
| - -|
| 公元前0001年01月01日00:00:00-00:01:15|
fiddle
要跳过空值(非null),请在使用中使用null
第一个
| 试验,测验|
| - -|
| |
| * 空值 *|
| 2022年10月10日|
第一个
| 试验,测验|
| - -|
| * 空值 *|
| * 空值 *|
| 2022年10月10日|

相关问题