“从选择ABC(选择1)为abc”产生的“(1)”,而不是“1”的
-
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
不隶属于 StackOverflow