“从选择ABC(选择1)为abc”产生的“(1)”,而不是“1”的

StackOverflow https://stackoverflow.com/questions/737625

  •  09-09-2019
  •  | 
  •  

在Postgre,为什么

select abc from (select 1) as abc

产生

(1)

select * from (select 1) as abc

产生

1

这真的很奇怪,我。是与MySQL,甲骨文等的情况下? 我花了几个小时搞清楚为什么我的条件没有...

有帮助吗?

解决方案

通过您的查询返回的行具有不同的类型:第一种是 ROW(INT) ,而第二个是INT

MySQL和其它缺少此功能。

在你的第一个查询,选择的是整个ROW为一列。此查询

SELECT abc FROM (SELECT 1, 2) abc

会产生(1, 2),这是一个单柱太,且类型ROW

要选择INT值,使用:

SELECT  abc.col
FROM    (
        SELECT  1 AS col
        ) abc
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top