关于PostgreSQL的大小写问题和验证

您所在的位置:网站首页 a的大写怎么写a的小写怎么写 关于PostgreSQL的大小写问题和验证

关于PostgreSQL的大小写问题和验证

2024-07-15 12:38| 来源: 网络整理| 查看: 265

参考:https://blog.csdn.net/zengchaoyue/article/details/8279744

在PostgreSQL或Abase类型的数据库中,大小写有一定的坑!

在定义表时,字段名称大小,是否加引号  将产生不一样的结果。

结论(写在前面):

1,PostgreSQL对表名、字段名都是区分大小写的。但是,PostgreSQL在SQL语句中对大小写是不敏感的,在不加双引号的情况下,创建时无论使用大写还是小写,表中都会统一转为小写显示的,因此查询时也会将语句中的字段名统一改成小写,因此,此时使用大小写查询均可。

2,用SQL语句的时候需要加双引号,或者转义符号。如果要创建名称为大写字母的字段名,需加双引号,此时表中的字段名不含双引号,但是查询时需加上双引号,执行时语句中的双引号将被抹去,因此能查出对应字段。

3,查询执行时,只会发生字段"双引号被抹去"和“大写转小写”中其中一个,优先发生"双引号被抹去"。

测试探究

通过下面的小测试即可看出区别

 

我们使用navicat(非MySQL专用版)测试:

问题1:字段名使用大写加双引号

结果如下:

执行insert操作,插入数据成功。

再执行查询操作:

 

结论1:创建表时字段名使用大写加双引号,在表中字段名不会出现双引号,但是,此时PostgreSQL使用select查询时,也必须使用大写加双引号(即与数据字段名保持一致)。原因在于,如果不加双引号,PostgreSQL的语句中,字段名会被统一改成小写,大小写不一致将报“c_bh”不存在。

问题2:创建表时字段名使用大写,不加双引号

 

 

结论2:创建表时字段名使用大写,但是不加双引号,此时PostgreSQL的表中的字段名会转化为小写,select查询时使用大写即可。如果还加双引号,将报“C_BH”不存在。

问题3:创建表时字段名使用小写加双引号

 

结论3:创建表时字段名使用小写加双引号,此时PostgreSQL的表中的字段名会去掉双引号,保持为小写,select查询时使用小写即可,加双引号也可以!

第四种情况:创建表时字段名使用小写不双引号

结论4:创建表时字段名使用小写也不加双引号,此时PostgreSQL的表中的字段名会去掉双引号,转为小写,select查询时使用小写即可,加双引号也可以!使用大写不加双引号也可以,但是如果使用大写加双引号则会报错。

 

结束和声明

以上纯属个人观点和体会,相关的资料和观点来自网络的朋友们! 希望这篇文章能对你有所帮助!  欢迎大家来一起讨论分享干货,或者批评指正!  更加热切盼望各路大神前辈给些指导和建议! 转载请注明出处!或者联系我!([email protected]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3