查找来自Date+Time的时间戳时检查空值 [英] check for null values while finding timestamps from date+time

查看:0
本文介绍了查找来自Date+Time的时间戳时检查空值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

之前,我是这样解析json的(日期和时间分开)

SELECT 
    JSON_DATA:"Required_Time"::time as "REQUIRED_TIME",
    JSON_DATA:"Required_Date"::date as "REQUIRED_DATE",
FROM {{ source('INGEST_DATA', 'LOAD' ) }}

然而,然后我将两者组合如下:

timestamp_ntz_from_parts(JSON_DATA:"Required_Date"::date,  JSON_DATA:"Required_Time"::time) as "REQUIRED_TIMESTAMP",

问题是,在某些行中,即使存在日期,时间值也是空的。对于这些情况,总体返回的时间戳值也为空。我如何才能避免这种情况?

我想检查时间是否为空,然后我想只返回日期,或者可能将00.00.00添加到日期而不是空时间值。我如何实现这一点?

推荐答案

如下:

案例1:时间为空:

set mydate = '2013-04-05';
set mytime = NULL;
SELECT timestamp_ntz_from_parts($MYDATE::date, IFF($MYTIME::time IS NULL, '00:00:00'::time, $MYTIME)); 

我回来了:

2013-04-05 00:00:00.000

案例2:时间不为空:

set mydate = '2013-04-05';
set mytime = '03:00:00';
SELECT timestamp_ntz_from_parts($MYDATE::date, IFF($MYTIME::time IS NULL, '00:00:00'::time, $MYTIME)); 

我回来了:

2013-04-05 03:00:00.000

这篇关于查找来自Date+Time的时间戳时检查空值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆