PostgreSQL数据库表名大小写问题
来源:互联网 发布:网络推广公司招聘 编辑:程序博客网 时间:2024/05/17 03:05
今天,用Delphi 连接postgresql数据库时,出现了问题。问题提示:error:表不存在。Postgrsql数据库的表名都用大写,比如Users、Profiles、Money等。
多尝试了一些表,发现当表名都是小写时,可以连接。
后来发现,在做select * from Users这样的查询的时候也会提示ERROR: relation “users” does not exist。
分析了一下,由于 PostgreSQL 是大小写敏感的,并默认对SQL语句中的数据库对象名称转换为小写,因此如果你在创建数据库对象时指定了大小写混和的对象名称,那么在通过SQL语句访问 这些对象时,由于Postgresql数据库里表名应该是分大小写的,导致找不到users这个表。
要解决这个问题,必须使用双引号(”)将数据库对象括起来,以提示 PostgreSQL 不用帮你转换对象名为小写,否则将激发“xxxxx对象不存在”的异常,譬如您的数据库中有名为 TUser 的表,您在 PostgreSQL 自带的图形化查询工具中必须使用类似这样的查询语句才能正确执行:SELECT * FROM “TUser”,当然它对 SQL 标准中的保留字和关键字是不区分大小写的,所以写成 select * From “TUser” 这样也是完全可以的。
另外,PostgreSQL 对数据也是大小写敏感的,这点与 SQLServer 不同(SQLServer 默认是不敏感的),譬如在 TUser 表中有字段 Name,其中有一行 Name 字段值为“Tony Tang”的记录,如果直接使用
SELECT * FROM “TUser” WHERE “Name” LIKE ‘%tony%’;
是查询不到这条记录的,不过你可以这么写:
SELECT * FROM “TUser” WHERE UPPER(“Name”) LIKE ‘%TONY%’;
呵呵,是不是觉得这样不太好看,而且担心性能会受影响?幸好 PostgreSQL 提供了关键字 ILIKE 来帮我们解决这个问题,这真是个非常有趣的关键字(I like),对于第一种写法只需要将 LIKE 替换成 ILIKE 就可以了。
最简单的办法,就是数据库里所有的表名都是小写的,最好字段名也都是小写的(因为映射到对象属性以后基本上会变换大小写,JPA是都变成小写)。这样就没与那么多烦恼以及兼容性问题了。
小结:
1、PostgreSQL对表名、字段名都是区分大小写的。用SQL语句的时候需要加双引号。
2、PostgreSQL在SQL语句中对数据(字段)大小写是敏感的.
select login_ID as 编号, name as 用户名 from t_login(这种会报错,找不到login_ID字段).
如果要查询大写字母的字段,同样要加上双引号:select “login_ID” as 编号, name as 用户名 from t_login.
- PostgreSQL数据库表名大小写问题
- PostgreSQL中表名、字段名大小写问题
- PostgreSQL中表名、字段名大小写问题
- PostgreSQL中表名、字段名大小写问题
- mysql数据库表名大小写问题
- Mysql数据库名和表名的大小写敏感性问题
- Mysql数据库名和表名的大小写敏感性问题
- Mysql数据库名和表名的大小写敏感性问题
- MySQL数据库中库、表名、字段的大小写问题
- MySQL数据库名、表名、列名、别名区分大小写的问题
- java 数据库名、数据表名和字段名大小写问题
- mysql表名大小写问题
- MySQL数据库表名、列名、别名区分大小写的问题
- MySQL数据库表名、列名、别名区分大小写的问题
- MySQL数据库表名、列名、别名区分大小写的问题及解决
- MySQL数据库表名、列名、别名区分大小写的问题
- MySQL数据库表名、列名、别名区分大小写的问题及解决
- MySQL数据库表名、列名、别名区分大小写的问题
- Service启动方式之startService,及注意事项
- Codevs 苹果树
- php小数点后取两位的几种实现方法
- Flip Game-1753
- 关于kissxml的简单使用
- PostgreSQL数据库表名大小写问题
- 欢迎使用CSDN-markdown编辑器
- AsyncTask理解拙见
- 【opencv 角点检测总结】
- spring 视图和视图解析器
- 网络爬虫去重参考
- 8.2.1.8 IS NULL Optimization NULL 优化:
- 如何把安全证书导入到java中的cacerts证书库
- Paho