关于PostgreSQL的大小写问题和验证 |
您所在的位置:网站首页 › a的大写怎么写a的小写怎么写 › 关于PostgreSQL的大小写问题和验证 |
参考: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 |