我们可以在 select 语句中使用 Map(col1,col2)
Can we use Map(col1,col2) in select statement
我需要在 select 查询中动态创建映射列
我想在select语句中使用地图
select map(col1,col2) from tbl1
这是我的错误:
AnalysisException: Syntax error in line 1:undefined: select
map(cnck.gluten_meal_protein... ^ Encountered: MAP Expected: ALL,
CASE, CAST, DEFAULT, DISTINCT, EXISTS, FALSE, IF, INTERVAL, LEFT, NOT,
NULL, REPLACE, RIGHT, STRAIGHT_JOIN, TRUNCATE, TRUE, IDENTIFIER CAUSED
BY: Exception: Syntax error
试试这个:
String HQL_QUERY = "select new map(col1, col2) from Table";
List<Map<String,String>> usersList = session.createQuery(HQL_QUERY).list();
使用str_to_map(text, [delimiter1, delimiter2])
函数。 Delimiter1 将文本分成 K-V 对,Delimiter2 将每个 K-V 对分开。 delimiter1 的默认分隔符是 ','
,delimiter2 的默认分隔符是 ':'
:
select str_to_map(concat( 'col1', ':', col1, ',', 'col2', ':', col2 )) as mymap
from table;
您可以为键指定不同的名称,它可以不一定等于列名。
我需要在 select 查询中动态创建映射列
我想在select语句中使用地图
select map(col1,col2) from tbl1
这是我的错误:
AnalysisException: Syntax error in line 1:undefined: select
map(cnck.gluten_meal_protein... ^ Encountered: MAP Expected: ALL,
CASE, CAST, DEFAULT, DISTINCT, EXISTS, FALSE, IF, INTERVAL, LEFT, NOT,
NULL, REPLACE, RIGHT, STRAIGHT_JOIN, TRUNCATE, TRUE, IDENTIFIER CAUSED
BY: Exception: Syntax error
试试这个:
String HQL_QUERY = "select new map(col1, col2) from Table";
List<Map<String,String>> usersList = session.createQuery(HQL_QUERY).list();
使用str_to_map(text, [delimiter1, delimiter2])
函数。 Delimiter1 将文本分成 K-V 对,Delimiter2 将每个 K-V 对分开。 delimiter1 的默认分隔符是 ','
,delimiter2 的默认分隔符是 ':'
:
select str_to_map(concat( 'col1', ':', col1, ',', 'col2', ':', col2 )) as mymap
from table;
您可以为键指定不同的名称,它可以不一定等于列名。