有人可以告诉我为什么它在MySQL中有效但在PostgreSQL中无效吗?
select "hi" as ham, 1 as eggs
我正在尝试将查询与一些硬编码的值结合在一起。
Postgres说“错误:列“ hi”不存在位置:8”
MySQL说正确的话。
答案 0 :(得分:1)
您需要在转换后将“更改为'double qoute更改为single qoute
select 'hi' as ham, 1 as eggs
答案 1 :(得分:1)
您需要使用单引号,而不是双引号。
Select 'hi' as ham;
答案 2 :(得分:1)
如果要让hi
为行值,则需要使用single-qoute,否则PostgreSQL DB Engine会将其作为列。
此示例ORDER是一个关键字,但我不鼓励使用double-qoute将关键字作为列名转义,尽管我不鼓励使用关键字作为列名。
CREATE TABLE T("ORDER" INT);
INSERT INTO T VALUES (1);
SELECT "ORDER"
FROM T
所以您可能会这样使用。
select 'hi' as ham, 1 as eggs