在从日期+时间查找时间戳时检查空值
check for null values while finding timestamps from 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",
问题是在某些行中,即使日期存在,时间的值为 NULL。对于这些情况,整体 returned 时间戳值也是 NULL。我怎样才能避免这种情况?
我想检查时间是否为 NULL,然后我想 return 仅添加日期或者将 00.00.00 添加到日期而不是 NULL 时间值。我怎样才能做到这一点?
这里是:
情况一:时间为空:
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
以前,我是这样解析 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",
问题是在某些行中,即使日期存在,时间的值为 NULL。对于这些情况,整体 returned 时间戳值也是 NULL。我怎样才能避免这种情况?
我想检查时间是否为 NULL,然后我想 return 仅添加日期或者将 00.00.00 添加到日期而不是 NULL 时间值。我怎样才能做到这一点?
这里是:
情况一:时间为空:
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