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 16:47:44 浏览: 15
在Hive中,可以使用类似以下的语句来实现与上述SQL查询相同的操作:
```
SELECT *
FROM fnd_lookup_values lv
WHERE lv.language = get_json_object('{"LANG":"' || substr(user(), instr(user(), '@') + 1) || '"}', '$.LANG')
AND lv.view_application_id = 700
AND lv.security_group_id = 0;
```
需要注意的是,Hive中的语法与Oracle SQL略有不同,因此需要使用一些不同的函数和语句来实现相同的查询。在上面的查询中,我们使用了`get_json_object`函数来获取当前用户的语言设置,以替代Oracle SQL中的`userenv`函数。同时,我们使用了`substr`和`instr`函数来从当前用户的用户名中提取出域名,以获取当前会话的语言设置。
相关问题
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`函数,需要使用其他方式获取当前用户的语言设置。