Hive 前导函数上截止日期的配置单元字符串
伙计们,我必须将其从PL/SQL(Oracle)转换为配置单元格式:Hive 前导函数上截止日期的配置单元字符串,hive,hiveql,lead,Hive,Hiveql,Lead,伙计们,我必须将其从PL/SQL(Oracle)转换为配置单元格式: NVL(TO_CHAR(TO_DATE(SUBSTR(LEAD(DATE_TIME) OVER (PARTITION BY CU_NO ORDER BY CR_NO ,TO_NUMBER(DATE_TIME)),1,6),'YYMMDD'),'YYYYMMDD'),'99991231') END_DATE 我已经试过了: NVL(cast(from_unixtime(UNIX_TIMESTAMP(SUBSTR(LEAD(DA
NVL(TO_CHAR(TO_DATE(SUBSTR(LEAD(DATE_TIME) OVER (PARTITION BY CU_NO ORDER BY CR_NO ,TO_NUMBER(DATE_TIME)),1,6),'YYMMDD'),'YYYYMMDD'),'99991231') END_DATE
我已经试过了:
NVL(cast(from_unixtime(UNIX_TIMESTAMP(SUBSTR(LEAD(DATE_TIME) OVER (PARTITION BY CU_NO ORDER BY CR_NO ,TO_NUMBER(DATE_TIME)),1,6), 'yyMMdd' ),'yyyyMMdd') as string)'99991231') END_DATE
它总是在“yyyyMMdd”附近的“')处返回缺少的EOF。出了什么问题?NVL(从unixtime(UNIX)时间戳(SUBSTR(LEAD(DATE\u-TIME))转换为字符串(按CU\u-NO-ORDER按CR\u-NO划分,到\u-NUMBER(DATE\u-TIME)),1,6),'yyMMdd'),'yyyyyyymmdd)
缺少逗号,'9999123121'
使用缩进格式:
NVL(
cast(
from_unixtime(
UNIX_TIMESTAMP(
SUBSTR(
LEAD(DATE_TIME) OVER (PARTITION BY CU_NO
ORDER BY CR_NO,
TO_NUMBER(DATE_TIME)
),
1,6
),
'yyMMdd'
),
'yyyyMMdd'
) as string
),
'99991231'
)
NVL(从unixtime(UNIX)时间戳(SUBSTR(LEAD(DATE)TIME)到(按CU划分,不按CR划分,到编号(DATE)TIME)),1,6),'yyMMdd'),'yyyyymmdd'作为字符串)
缺少逗号,'99991231')
使用缩进格式:
NVL(
cast(
from_unixtime(
UNIX_TIMESTAMP(
SUBSTR(
LEAD(DATE_TIME) OVER (PARTITION BY CU_NO
ORDER BY CR_NO,
TO_NUMBER(DATE_TIME)
),
1,6
),
'yyMMdd'
),
'yyyyMMdd'
) as string
),
'99991231'
)
您不需要通过以下方式在订单中添加额外的\u number():
NVL(cast(from_unixtime(UNIX_TIMESTAMP(
SUBSTR(
LEAD(DATE_TIME) OVER (PARTITION BY CU_NO ORDER BY CR_NO, DATE_TIME)
,1,6), 'yyMMdd')
,'yyyyMMdd')
as string), '99991231')
您不需要通过以下方式在订单中添加额外的\u number():
NVL(cast(from_unixtime(UNIX_TIMESTAMP(
SUBSTR(
LEAD(DATE_TIME) OVER (PARTITION BY CU_NO ORDER BY CR_NO, DATE_TIME)
,1,6), 'yyMMdd')
,'yyyyMMdd')
as string), '99991231')