參考:https://blog.csdn.net/zengchaoyue/article/details/8279744
問題描述:
使用pgAdmin新建了一個表user,添加了id、name、enScore三個字段。在user表中添加了幾條記錄后,使用select * from user;查詢沒有問題,會顯示user表中的所有記錄。在執行select name,enScore from user;查詢失敗,提示“column enScore does not exist”。
仔細查看建表腳本,發現enScore加了雙引號,所以修改查詢語句為select name,"enScore" from user;查詢成功。
CREATE TABLE test."user"
(
id integer NOT NULL,
name character varying(80) NOT NULL,
"enScore" double precision NOT NULL,
CONSTRAINT primarykey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE test."user"
OWNER TO test;
結論:
1)pg數據庫對表名、字段名是區分大小寫的,通過pgAdmin建表時正常創建,用SQL語句的時候需要加雙引號,如果jdbc查詢等處,記得使用轉義符號。
2)pg在SQL語句中對大小寫是不敏感的,
例如select id from user;與select ID from user;結果是一樣的,但是select "enScore" from user 是OK的,但select "enscore" from user 是不對的。