乘风原创程序

  • 基于PostgreSql 别名区分大小写的问题
  • 2021/1/28 10:32:29
  • 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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持本教程网。如有错误或未考虑完全的地方,望不吝赐教。