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 21:46:47 浏览: 21
在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 * FROM gerp.fnd_lookup_values lv WHERE lv.language = userenv('LANG') AND lv.view_application_id = 700 AND lv.security_group_id = 0在hive中怎么写
在Hive中,你可以使用以下SQL语句来实现相同的查询:
```
SELECT *
FROM gerp.fnd_lookup_values lv
WHERE lv.language = SESSION_USER()
AND lv.view_application_id = 700
AND lv.security_group_id = 0;
```
其中,SESSION_USER()函数用于获取当前会话的用户名,相当于Oracle数据库中的USERENV('USER')函数。由于Hive中没有userenv函数,因此需要使用SESSION_USER()函数来代替。
另外,Hive中的SQL语句不区分大小写,因此可以将FROM、WHERE、AND等关键字写成大写或小写,以便于阅读。
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`函数,需要使用其他方式获取当前用户的语言设置。