转换为hive, STR_SQL:=' INSERT INTO jyfx_PRODUCT_ACCEPT_2022 SELECT A.obj_id,null,A.apply_obj_spec,null,A.create_date,A.region_id, A.create_ORG_ID,sysdAte,null,A.cust_order_id, A.ORDER_item_id,null,null,null, A.BELONG_lan_id,create_staff FROM ord_so.order_item@to_CRM_TEST A WHERE A.order_item_cd = ''1300'' and A.status_cd in (''301200'',''201300'') AND to_char(A.create_date,''yyyymmdd'') >= to_char(sysdate-35,''yyyymmdd'') AND A.SERVICE_OFFER_ID=4010100000 '; EXECUTE IMMEDIATE STR_SQL; --执行了一个名为STR_SQL的动态SQL语句。 COMMIT; --提交了之前的事务 INSERT INTO JOB_TIME_REC VALUES('jyfx_HOUR',V_START_TIME,SYSDATE, (SYSDATE-V_START_TIME)*24*3600,'受理'); --将一条记录插入到JOB_TIME_REC表中,包括了'jyfx_HOUR'、V_START_TIME、SYSDATE、(SYSDATE-V_START_TIME)243600和'受理'这些值。 COMMIT; --提交这次插入操作的事务 V_START_TIME:=SYSDATE;--将V_START_TIME的值更新为当前的系统时间
时间: 2024-04-12 21:29:07 浏览: 116
以下是将给定的脚本转换为Hive SQL的结果:
```sql
INSERT INTO jyfx_PRODUCT_ACCEPT_2022
SELECT A.obj_id, NULL, A.apply_obj_spec, NULL, A.create_date, A.region_id, A.create_ORG_ID, current_date, NULL, A.cust_order_id, A.ORDER_item_id, NULL, NULL, NULL, A.BELONG_lan_id, create_staff
FROM ord_so.order_item A
WHERE A.order_item_cd = '1300' and A.status_cd IN ('301200', '201300')
AND from_unixtime(unix_timestamp(A.create_date, 'yyyyMMdd'), 'yyyyMMdd') >= from_unixtime(unix_timestamp(current_date - INTERVAL 35 DAY), 'yyyyMMdd')
AND A.SERVICE_OFFER_ID = 4010100000;
INSERT INTO JOB_TIME_REC VALUES ('jyfx_HOUR', '2023-07-12 00:00:00', current_timestamp(), unix_timestamp(current_timestamp()) - unix_timestamp('2023-07-12 00:00:00'), '受理');
V_START_TIME := current_timestamp();
COMMIT;
```
请注意,Hive不支持动态SQL语句的执行(EXECUTE IMMEDIATE),因此您需要手动将其分解为适当的Hive语句。此外,Hive中没有类似PL/SQL的变量赋值语句(V_START_TIME := SYSDATE),因此您需要根据实际需要进行调整。最后,Hive不支持直接使用TO_CHAR函数,而是使用from_unixtime和unix_timestamp函数来进行日期格式转换。
阅读全文