format()
是一个用于格式化带格式说明符的字符串的系统函数,类似于 sprintf()
等。
format()
在 PostgreSQL 9.1 中添加。
用法
format (formatstr
text
[,formatarg
any
[, ...] ])
格式说明符类似于 sprintf()
实现中使用的那些。 format()
还提供 SQL 特定的格式说明符 %I
和 %L
,它们分别将参数值视为 SQL 标识符或 SQL 字面量。这些对于生成动态查询很有用。
请注意,与标准 C sprintf()
不同,format()
允许在同一个格式字符串中混合使用带有和不带 position
字段的格式说明符。
变更历史
- PostgreSQL 9.1
- 添加 (提交 75048707)
示例
format()
的基本用法示例
postgres=# SELECT format('Hello %s', 'World'); format ------------- Hello World (1 row)
使用 SQL 特定的格式说明符 %I
和 %L
postgres=# SELECT format('INSERT INTO %I VALUES(%L)', 'CamelCaseTable', E'O\'Reilly'); format -------------------------------------------------- INSERT INTO "CamelCaseTable" VALUES('O''Reilly') (1 row)
参考
- PostgreSQL 文档: format