繁体   English   中英

如何在 select 查询中使用 iff 将来自数据源的 N/A 值替换为雪花上的时间戳字段

[英]how to replace an N/A value coming from data source into timestamp field on snowflake using iff in a select query

不幸的是,对于类型为时间戳的字段,我们从数据源接收到一些“n/a”值。

我们尝试用其他具有值的相关时间戳字段替换n/a值:

iff(field1 = 'n/a', field2, field1)

但是有一个错误:

无法识别时间戳 'n/a'。

然后我们尝试了:

ifnull(field1, field2)

它在值为 NULL 而不是n/a时起作用。

如果您使用的是 Snowflake,则可以像这样使用try_to_timestampifnull

create or replace transient table test_table (field1 varchar, field2 varchar);
insert into test_table values ('n/a', '2021-01-01'), ('2021-02-01', '2021-02-02');

select 
    ifnull(try_to_timestamp(field1), field2)
from test_table;

结果在此处输入图像描述

如果您使用的是 mysql,我相信您可以使用一些等效的表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM