format() 是一个用于通过格式说明符格式化字符串的系统函数,类似于 sprintf() 等函数。
format() 函数于 PostgreSQL 9.1 中添加。
用法
format (formatstrtext[,formatargany[, ...] ])
格式说明符类似于 sprintf() 实现中所使用的格式说明符。 format() 还提供了 SQL 特定的格式说明符 %I 和 %L,它们分别将参数值视为 SQL 标识符或 SQL 字面量。这对于生成动态查询非常有用。
请注意,与标准的 C sprintf() 不同,format() 允许在同一个格式字符串中混合使用带有和不带 位置 字段的格式说明符。
变更历史
- 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
