基于PostgreSql 别名区分大小写的问题
时间:2021-07-24 09:35:44|栏目:PostgreSQL|点击: 次
PostgreSql是区分大小写的
如果别名的大小不一致就会提示错误:
SELECT * FROM ( SELECT cpi."product_item_id" "PRODUCT_ITEM_ID" FROM prd.up_product_item cpi ) a WHERE a.PRODUCT_ITEM_ID=1
一个很简单的子查询,但是会出错,虽然从语句上看大小写是一致的,但是内部查询中还是使用了小写。PostgreSql对于大写都需要加上双引号的,不然还是视作小写而定。
正确的写法如下
SELECT * FROM ( SELECT cpi."product_item_id" "PRODUCT_ITEM_ID" FROM prd.up_product_item cpi ) a WHERE a."PRODUCT_ITEM_ID"=1
补充:postgresql查询字段别名大写的要加双引号
PostgreSQL对表名、字段名都是区分大小写的。
在图形化界面可以正常新建。用SQL语句的时候需要加双引号,如果jdbc查询等处,记得使用转义符号。
PostgreSQL在SQL语句中对大小写是不敏感的。
select ID from t_user 和 select id from t_user
都会从t_user这个表中查询id这个字段。如果要查询大写字母的字段,同样要加上双引号:select “ID” from t_user
上一篇:postgresql使用filter进行多维度聚合的解决方法
栏 目:PostgreSQL
下一篇:基于PostgreSQL pg_hba.conf 配置参数的使用说明
本文地址:http://www.codeinn.net/misctech/160977.html