您现在的位置是:首页 > 博客网站制作 > 心得笔记心得笔记

postgresql查询自动将大写的名称转换为小写的案例

杨青青2022-02-20【心得笔记】人已围观

简介这篇文章主要介绍了postgresql查询自动将大写的名称转换为小写的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧我就废话不多说了,大家还是直接看代码吧

这篇文章主要介绍了postgresql查询自动将大写的名称转换为小写的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

SELECTsum(aa)as"recordNumber"FROMtable

SELECTsum(aa)asrecordNumberFROMtable

postgis查询字段是将字段字段转为小写,如果需要大写的字符,需要加双引号

补充:Postgresql中表名、列名、用户名大小写问题

注意:是双引号,单引号可能会被解析成普通字符,因而是不识别的字段

highgo=#createtable"ExChange"(idint);
CREATETABLE
highgo=#createtableExChange(idint);
CREATETABLE
highgo=#\d
Listofrelations
Schema|Name|Type|Owner
----------------+----------+-------+--------
oracle_catalog|dual|view|highgo
public|ExChange|table|highgo
public|exchange|table|highgo
public|myt|table|highgo
public|t1|table|highgo
public|tran|table|highgo
(6rows)

highgo=#insertintoexchangevalues(1);
INSERT01
highgo=#insertinto"ExChange"values(2);
INSERT01

highgo=#select*FROMexchange;
id
----
1
(1row)
highgo=#select*FROMExChange;
id
----
1
(1row)

highgo=#select*FROM"ExChange";
id
----
2
(1row)

highgo=#insertintoExChangevalues(2);
INSERT01
highgo=#select*FROM"ExChange";
id
----
2
(1row)

highgo=#select*FROMexchange;
id
----
1
2
(2rows)

>从上面可以看出,如果不加双引号,那么表名都会被转化为小写。如果想要大小写混用,需要添加双引号。

highgo=#createtableexchange(IDint,idint);
ERROR:42701:column"id"specifiedmorethanonce
highgo=#createtableexchange(IDint,nametext);
CREATETABLE
highgo=#selectidfromexchange;
id
----
(0rows)

highgo=#selectIDfromexchange;
id
----
(0rows)

highgo=#select"ID"fromexchange;
ERROR:42703:column"ID"doesnotexist
LINE1:select"ID"fromexchange;

highgo=#\dexchange
Table"public.exchange"
Column|Type|Modifiers
--------+---------+-----------
id|integer|
name|text|

highgo=#\du
Listofroles
Rolename|Attributes|Memberof
-----------+------------------------------------------------------------+-----------
aaa||{}
gpadmin|Superuser,Createrole,CreateDB|{}
highgo|Superuser,Createrole,CreateDB,Replication,BypassRLS|{}
replica|Replication|{}

highgo=#createtableAAA;
ERROR:42601:syntaxerroratornear";"
LINE1:createtableAAA;
^
highgo=#createuserAAA;
ERROR:42710:role"aaa"alreadyexists
highgo=#createuser"AAA";
CREATEROLE
highgo=#\du
Listofroles
Rolename|Attributes|Memberof
-----------+------------------------------------------------------------+-----------
AAA||{}
aaa||{}
gpadmin|Superuser,Createrole,CreateDB|{}
highgo|Superuser,Createrole,CreateDB,Replication,BypassRLS|{}
replica|Replication|{}

实验证明,字段与用户同样会被自动转化为小写,除非添加双引号。其实最好的办法就是全部用小写,这样才能尽量减少问题的出现。

Tags:

很赞哦! ()

文章评论

站点信息

  • 建站时间:2011年01月12日
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计625篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们