当我执行此查询时,我没有问题:
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%'
Run Code Online (Sandbox Code Playgroud)
contenido.field_value_textarea是 character varying(2000)
但是,如果我尝试选择:
contenido.field_value_fecha哪个类型是date我收到此错误消息:
错误:运算符不存在:date ~~ unknown
我想要做的是在不同的表之间进行搜索,每个查询都选择FROM它的表.有些表使用文本值,textarea值,整数值,并且它可以工作,但是当值date全部失败时.我能做什么?
编辑:顺便说一句,我的日期值是这样的:2009-05-01
joa*_*olo 12
该~~运营商实际上是LIKE运营商.
您正在尝试使用如下表达式:
contenido.field_value_fecha.value LIKE '%aaaa%'
Run Code Online (Sandbox Code Playgroud)
也就是说,您试图将日期与字符串进行比较(没有足够的上下文,被认为是"未知"类型),并确定日期是否类似.
如果您确实想要进行这样的比较,则需要将日期转换为字符串,这可以通过以下方式完成:
contenido.field_value_fecha.value::text LIKE '%aaaa%'
Run Code Online (Sandbox Code Playgroud)
或(使用标准SQL):
CAST(contenido.field_value_fecha.value AS text) LIKE '%aaaa%'
Run Code Online (Sandbox Code Playgroud)
这在语法上是正确的......无论它是否有意义,都是故事的另一部分.