PostgreSql别名区分大小写的问题

时间:2020-12-30 00:48:30

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