运算符不存在:字符变化 = uuid
客户端 ID 是 UUId,应该是它不工作的原因。
我错在哪里,因为我已经尝试了几乎所有我想象的东西。
SELECT * FROM "cobranca_assinatura"
INNER JOIN "cadastro_cliente" ON ("cobranca_assinatura"."cliente_id" = "cadastro_cliente"."id")
WHERE "cadastro_cliente"."nome" LIKE marcelo% ESCAPE '\'
[2019-03-21 14:40:34] [42883] 错误:运算符不存在:字符变化 = uuid [2019-03-21 14:40:34] Dica:没有运算符匹配给定的名称和参数类型( s)。您可能需要添加显式类型转换。
pbu*_*uck 17
uuid 是一种特定的数据类型。对你来说,它看起来像文本,但它不是。您不能使用字符串函数比较 uuid (uuid like "abc%"),也不能将其与文本进行比较。
正如 Tamer 建议的那样,如果需要比较,可以先施放它。
SELECT * 
FROM (SELECT 'A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11'::uuid as my_uuid) foo 
WHERE my_uuid::text like 'a%'
例如,上面我通过将字符串转换为 uuid 类型来创建 uuid。(如果您尝试将任何旧字符串强制转换为 uuid,您将失败,因为 'abc'不能是 uuid)。
然后使用名为“my_uuid”的 uuid 项,我将其转换回字符串以使用字符串比较。(注意'A'变成'a'!)
| 归档时间: | 
 | 
| 查看次数: | 14696 次 | 
| 最近记录: |