注意PostgreSQL的关键字(保留字)和identified的用法和位置
postgresql 用法 位置 关键字 注意 保留字
2023-09-14 09:01:04 时间
关键字即词法解析时用到的一些固定的单词,identifier则是用户定义的一些名词(如表名,索引名,字段名,函数名等等)
PostgreSQL 有一张关键字列表
https://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html
在这个列表中的关键字,如果出现的位置可以是identified,则会报错。
https://www.postgresql.org/docs/9.5/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
例子:
postgres=# select 1 and; ERROR: syntax error at or near ";" LINE 1: select 1 and; ^
and就是一个关键字,并且他出现在了可以是identifer的位置,所以要解决这个问题就是加双引号,或者排除歧义。
使用双引号引排除歧义,把它变成别名identifier。
postgres=# select 1 "and"; and ----- (1 row)
使用as改变词法,排除歧义,把它变成别名。
postgres=# select 1 as and; and ----- (1 row)
还有,如果key words出现在identifier位置时,还可能是定义名称的位置。
例子
postgres=# create table and (id int); ERROR: syntax error at or near "and" LINE 1: create table and (id int); postgres=# create table "and" (id int); CREATE TABLE postgres=# drop table and; ERROR: 42601: syntax error at or near "and" -- 这里明确告诉你and错误了 LINE 1: drop table and; LOCATION: scanner_yyerror, scan.l:1087 postgres=# drop table "and"; DROP TABLE
所以,如果你遇到类似的错误,用双引号,或者换名字即可。
使用datediff,对时间或日期相减,得到的间隔,转换为目标单位(日、月、季度、年、小时、秒。。。等)的数值。 DATEDIFF ( datepart, {date|timestamp}, {date|timestamp} )
Postgresql pg_dump&pg_restore用法 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。pg_dump 一次只转储一个数据库, 并且不会转储有关角色或表空间的信息 (因为那些是群集范围而不是每个数据库)。
PostgreSQL 窗口函数的用法 PostgreSQL之窗口函数的用法 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9311281.html PostgreSQL的高级特性本准备三篇的(递归、窗口函数、JSON),结果中间一直一直加班 和遗忘 拖到现在才写到中篇,欸,加班真不是一件好事情。
相关文章
- POSTGRESQL postgresql 升级的需求来自哪里
- 数据库 PostgreSQL 常用命令
- PostgreSQL数据库基础 之 字符串处理与日期处理操作
- postgresql数据库基础 之 round函数的用法举例
- postgresql rank() over, dense_rank(), row_number()用法区别
- Postgresql自定义函数详解
- Debian中PostgreSQL数据库安装配置实例
- PostgreSQL 0A000: feature_not_supported 报错 故障修复 远程处理
- PostgreSQL 22025: invalid_escape_sequence 报错 故障修复 远程处理
- 详解CentOS7下PostgreSQL 11的安装和配置教程
- 体验PostgreSQL之精彩:驱动新体验(postgresql驱动)
- 籍深入PostgreSQL:建立高可用性数据库系统(postgresql书)
- 学习PostgreSQL:踏上数据库运维之路(postgresql使用教程)
- 创建PostgreSQL数据库序列的实践(postgresql序列)
- PostgreSQL实现高可用部署(postgresql高可用)
- PostgreSQL接口:轻松连接数据库(postgresql接口)
- PostgreSQL中文手册详解数据库操作技巧(postgresql中文手册)
- 优化精细化PostgreSQL查询优化实践(postgresql查询)
- 初探PostgreSQL:走上NoSQL学习之路(postgresql学习)
- Postgresql参数优化:提升性能的技巧(postgresql参数)
- 深入理解PostgreSQL背后的原理(postgresql原理)
- 管理Postgresql版本管理:实现更加高效的工作(postgresql版本)
- Postgresql数据库实现事务回滚技术(postgresql回滚)