PostgreSQL 14列别名含特殊字符报错,如何设置特殊字符列别名?
PostgreSQL 特殊字符列别名设置方法
在PostgreSQL中,列别名属于标识符范畴,并非字符串常量,因此不能用单引号包裹。当别名包含$、€、!、<这类特殊字符时,必须使用双引号将别名包裹,才能被识别为合法的列别名。
修正后的SQL语句
SELECT id, currency AS "$", available FROM f_total ORDER BY id DESC;
其他特殊字符的使用示例
如果需要使用其他特殊字符作为别名,同样用双引号包裹即可:
SELECT id, amount AS "€", status AS "!", create_time AS "<create-time>" FROM f_total ORDER BY id DESC;
关键说明
- 单引号仅用于定义字符串常量,不能用来指定列别名,这是你之前出现语法错误的核心原因。
- 用双引号包裹的别名会区分大小写,比如
"Amount"和"amount"会被PostgreSQL视为不同的别名。
内容的提问来源于stack exchange,提问作者linux_beginner
相关产品推荐
相关产品推荐

