如何强制IMPLICIT从“显式”文本转换为uuid

时间:2018-03-15 14:33:51

标签: postgresql

Postgres 10.0版

我有一个表my_table,其列为myugu,类型为uuid。

我可以这样做:

SELECT * FROM my_table
WHERE my_guid='{239919b2-88ca-4138-b17c-a066a7d5724a}';

请注意这些括号,数据库中没有括号。 但是,当GUID存在时,我会得到结果。 因此,会发生一些隐式的text-to-uuid转换。

问题是我使用的ORM构建了这样的查询:

SELECT * FROM my_table
WHERE my_guid='{239919b2-88ca-4138-b17c-a066a7d5724a}'::text;

此查询失败,并显示错误,指出没有uuid = text运算符。 (有点傻,我想)。

当文本明确地转换为文本时,我需要“教”我的数据库执行隐式的text-to-uuid转换: - )

你能帮助我吗?

0 个答案:

没有答案