我正在将Oracle语法转换为Postgres
SELECT MSN_INT_ID,
MO_INT_ID,
'Y' "AIRMOVE"
FROM MISSION_OBJECTIVE
WHERE MO_MSN_CLASS_CD = 'AMV'
GROUP BY MSN_INT_ID,
MO_INT_ID
这部分令我困惑:
SELECT MSN_INT_ID,
MO_INT_ID,
'Y' "AIRMOVE"
什么是'Y'“AIRMOVE”在做什么?
答案 0 :(得分:1)
它是一个计算列,使用静态定义的值。
答案 1 :(得分:1)
代码段'Y' "AIRMOVE"
将计算列引入名为AIRMOVE
的选择列表,其值始终为'Y'
。
答案 2 :(得分:1)
部分混淆可能来自PostgreSQL 8.3或更早版本,其中“AS”关键字不是可选的。
变化:
'Y' "AIRMOVE"
要:
'Y' AS "AIRMOVE"
它应该可以正常工作。从版本8.4开始,关键字是可选的,尽管我主张总是包含它以避免与此问题完全相同的问题。