Postgresql 9.2语法问题
我正在尝试使用Postgresql 9.2执行此查询Postgresql 9.2语法问题,sql,postgresql,syntax,syntax-error,Sql,Postgresql,Syntax,Syntax Error,我正在尝试使用Postgresql 9.2执行此查询 WITH udetail as (select(regexp_split_to_array('user@domain', E'\\@+'))) select * from udetail[1]; Buy it在'['的开头附近给了我一个语法错误。同样的查询在9.3版下运行良好。因此我想知道是否有其他方法可以编写查询以获得相同的结果。我想您正在寻找类似的内容: WITH udetail(x) as ( select(regexp_spl
WITH udetail as (select(regexp_split_to_array('user@domain', E'\\@+')))
select * from udetail[1];
Buy it在
'['
的开头附近给了我一个语法错误。同样的查询在9.3版下运行良好。因此我想知道是否有其他方法可以编写查询以获得相同的结果。我想您正在寻找类似的内容:
WITH udetail(x) as (
select(regexp_split_to_array('user@domain', E'\\@+')))
select x[1] from udetail;
我认为在您的例子中,不能像udetail
那样索引表表达式。表表达式的列是数组类型。因此,可以在列上使用数组下标号,而不是在表本身上
我想您正在寻找这样的产品:
WITH udetail(x) as (
select(regexp_split_to_array('user@domain', E'\\@+')))
select x[1] from udetail;
我认为在您的例子中,不能像udetail
那样索引表表达式。表表达式的列是数组类型。因此,可以在列上使用数组下标号,而不是在表本身上
我想您正在寻找这样的产品:
WITH udetail(x) as (
select(regexp_split_to_array('user@domain', E'\\@+')))
select x[1] from udetail;
我认为在您的例子中,不能像udetail
那样索引表表达式。表表达式的列是数组类型。因此,可以在列上使用数组下标号,而不是在表本身上
我想您正在寻找这样的产品:
WITH udetail(x) as (
select(regexp_split_to_array('user@domain', E'\\@+')))
select x[1] from udetail;
我认为在您的例子中,不能像udetail
那样索引表表达式。表表达式的列是数组类型。因此,可以在列上使用数组下标号,而不是在表本身上
您应该使用别名作为查询参数:
with udetail(arr) as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select arr[1] from udetail;
或作为列别名:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+') as arr
)
select arr[1] from udetail;
您也可以在不使用别名的情况下执行此操作:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select regexp_split_to_array[1] from udetail;
您应该使用别名作为查询参数:
with udetail(arr) as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select arr[1] from udetail;
或作为列别名:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+') as arr
)
select arr[1] from udetail;
您也可以在不使用别名的情况下执行此操作:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select regexp_split_to_array[1] from udetail;
您应该使用别名作为查询参数:
with udetail(arr) as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select arr[1] from udetail;
或作为列别名:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+') as arr
)
select arr[1] from udetail;
您也可以在不使用别名的情况下执行此操作:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select regexp_split_to_array[1] from udetail;
您应该使用别名作为查询参数:
with udetail(arr) as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select arr[1] from udetail;
或作为列别名:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+') as arr
)
select arr[1] from udetail;
您也可以在不使用别名的情况下执行此操作:
with udetail as (
select regexp_split_to_array('user@domain', E'\\@+')
)
select regexp_split_to_array[1] from udetail;
那是更详细的答案,那是更详细的答案,那是更详细的答案,那是更详细的答案。