gpt4 book ai didi

postgresql - hstore 单引号值

转载 作者:行者123 更新时间:2023-11-29 13:04:32 26 4
gpt4 key购买 nike

我在这里问了类似的问题:hstore value with space。并由用户解决:Clodoaldo Neto。现在我遇到了下一个包含单引号的字符串的情况。

SELECT 'k=>"name", v=>"St. Xavier's Academy"'::hstore;

我通过阅读 http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS 来尝试使用美元引用的字符串常量

SELECT 'k=>"name", v=>$$St. Xavier's Academy$$'::hstore;

但我做对了。

如何使用包含单引号的字符串创建 postgresql hstore?似乎此查询可能有更多此类异常。如何一次解决所有问题?

最佳答案

您可以像转义字符串文字中的任何其他单引号一样转义嵌入的单引号:将其加倍。

SELECT 'k=>"name", v=>"St. Xavier''s Academy"'::hstore;
-- ------------------------------^^

或者,您可以用美元引用整个字符串:

SELECT $$k=>"name", v=>"St. Xavier's Academy"$$::hstore;

无论您使用什么接口(interface)与 PostgreSQL 通信,都应该处理这些引用和转义问题。如果您使用手动字符串整理来构建 SQL,那么您应该使用驱动程序的引用和占位符方法。


hstore's internal parsing理解键周围的双引号:

Double-quote keys and values that include whitespace, commas, =s or >s.

正如您所指出的,对于 SQL 字符串文字,美元引用是,hstore 的解析器不知道它们的含义。

关于postgresql - hstore 单引号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17955444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com