gpt4 book ai didi

sql - PostgreSQL 错误 : operator does not exist: date ~~ unknown

转载 作者:行者123 更新时间:2023-11-29 11:30:46 25 4
gpt4 key购买 nike

当我执行此查询时,我没有遇到任何问题:

SELECT a.value, b.label AS campo, 'date' AS tipo
FROM contenido.field_value_textarea a
JOIN estructura.field b ON a.field=b.id
WHERE a.value LIKE '%aaa%'

contenido.field_value_textarea 是 character varying(2000)

但如果我尝试从中选择:

contenido.field_value_fecha 类型是 date 我收到此错误消息:

错误:运算符不存在:日期 ~~ 未知

我想做的是在不同的表之间进行搜索,每个查询都从它的表中选择。一些表使用文本值、文本区域值、整数值,并且它可以工作,但是当值为 date 时,所有都失败了。我能做什么?

编辑:顺便说一句,我的日期值是这样的:2009-05-01

最佳答案

~~ 运算符实际上是 LIKE operator .

您正在尝试使用如下所示的表达式:

contenido.field_value_fecha.value LIKE '%aaaa%'

也就是说,您正在尝试将日期与字符串(在没有足够上下文的情况下,字符串被认为是“未知”类型)进行比较,并确定日期是否看起来像什么。

如果你真的想做这样的比较,你需要将日期转换成字符串,这可以通过以下方式完成:

contenido.field_value_fecha.value::text LIKE '%aaaa%'

或(使用标准 SQL):

CAST(contenido.field_value_fecha.value AS text) LIKE '%aaaa%'

这在语法上是正确的...是否有意义,是另外一回事了。

关于sql - PostgreSQL 错误 : operator does not exist: date ~~ unknown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449756/

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