SELECT * FROM fnd_lookup_values lv WHERE lv.language = userenv('LANG') AND lv.view_application_id = 700 AND lv.security_group_id = 0转换为hive的写法
时间: 2024-03-16 19:46:47 浏览: 192
在Hive中,可以使用以下语法将该SQL转换为Hive的写法:
```
SELECT *
FROM fnd_lookup_values lv
WHERE lv.language = '${hiveconf:userenv.LANG}'
AND lv.view_application_id = 700
AND lv.security_group_id = 0;
```
需要注意的是,在Hive中,使用`${hiveconf:}`来引用Hive配置,因此`${hiveconf:userenv.LANG}`可以获取当前用户的语言环境。另外,Hive中的SQL语法与Oracle SQL略有不同,需要根据具体情况进行调整。
相关问题
改正语法:SELECT lv. lookup_type ,cast(lv.lookup_code as bigint) lookup_code ,lv. meaning ,lv. description ,lv. enabled_flag ,lv. start_date_active ,lv. end_date_active ,lv. created_by ,lv. creation_date ,lv. last_update_date ,lv. last_updated_by ,lv. last_update_login FROM gerp.fnd_lookup_values lv WHERE lv.language = userenv('LANG') AND lv.view_application_id = 700 AND lv.security_group_id = 0
该SQL语句语法没有明显错误,但是建议将SELECT语句中的每个字段与FROM语句中的表名、JOIN条件等元素分开写,以提高可读性。同时,也可以考虑将userenv('LANG')替换为Hive中相应的函数,如SESSION_USER等。
改正后的SQL语句如下:
```
SELECT lv.lookup_type,
CAST(lv.lookup_code AS BIGINT) AS lookup_code,
lv.meaning,
lv.description,
lv.enabled_flag,
lv.start_date_active,
lv.end_date_active,
lv.created_by,
lv.creation_date,
lv.last_update_date,
lv.last_updated_by,
lv.last_update_login
FROM gerp.fnd_lookup_values lv
WHERE lv.language = SESSION_USER()
AND lv.view_application_id = 700
AND lv.security_group_id = 0;
```
这样可以更清晰地表达查询逻辑,方便代码维护和阅读。
SELECT lv. lookup_type ,to_number(lv.lookup_code) lookup_code ,lv. meaning ,lv. description ,lv. enabled_flag ,lv. start_date_active ,lv. end_date_active ,lv. created_by ,lv. creation_date ,lv. last_update_date ,lv. last_updated_by ,lv. last_update_login FROM fnd_lookup_values lv WHERE lv.language = userenv('LANG') AND lv.view_application_id = 700 AND lv.security_group_id = 0转换为hive中的写法
在Hive中,可以使用类似SQL的查询语言HQL(Hive Query Language)进行查询,但是Hive并不支持所有SQL语法,需要进行一些转换。
下面是将该SQL转换为Hive的写法:
```
SELECT lv.lookup_type
,CAST(lv.lookup_code AS INT) lookup_code
,lv.meaning
,lv.description
,lv.enabled_flag
,lv.start_date_active
,lv.end_date_active
,lv.created_by
,lv.creation_date
,lv.last_update_date
,lv.last_updated_by
,lv.last_update_login
FROM fnd_lookup_values lv
WHERE lv.language = userenv('LANG')
AND lv.view_application_id = 700
AND lv.security_group_id = 0;
```
在Hive中,需要使用`CAST`函数将字符串转换为整型,因为Hive中不支持直接将字符串转换为整型。另外,Hive中没有`userenv`函数,需要使用其他方式获取当前用户的语言设置。
阅读全文