0
我试图修复一个SQL查询以便稍后将其转换为Doctrine2 DQL,因为它是Symfony2项目的一部分。这就是我的DDL有:如何在PostgreSQL中使用LIKE语句在WHERE中使用值?
CREATE TABLE "nomencladores"."norma" (
"id" int4 NOT NULL,
"comite_tecnico_id" int4,
"numero" VARCHAR (10) COLLATE "default" NOT NULL,
"anno" int4 NOT NULL,
"nombre" VARCHAR (255) COLLATE "default" NOT NULL,
"activo" bool,
CONSTRAINT "norma_pkey" PRIMARY KEY ("id"),
CONSTRAINT "fk_f00cbe8e84edad75" FOREIGN KEY ("comite_tecnico_id") REFERENCES "nomencladores"."comite_tecnico" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION
) WITH (OIDS = FALSE);
而且我想执行一个LIKE查询发现%45%
,我已经尝试了所有该查询没有成功:
的一个在DQL由Doctrine2产生
SELECT
n0_.numero AS numero0,
n0_.anno AS anno1,
n0_. ID AS id2,
n0_.nombre AS nombre3,
n0_.activo AS activo4,
n0_.comite_tecnico_id AS comite_tecnico_id5
FROM
nomencladores.norma n0_
WHERE
n0_.anno LIKE %45%;
尝试投放的值
SELECT
n0_.numero AS numero0,
n0_.anno AS anno1,
n0_. ID AS id2,
n0_.nombre AS nombre3,
n0_.activo AS activo4,
n0_.comite_tecnico_id AS comite_tecnico_id5
FROM
nomencladores.norma n0_
WHERE
CAST (n0_.anno AS CHAR) LIKE %45%;
SELECT
n0_.numero AS numero0,
n0_.anno AS anno1,
n0_. ID AS id2,
n0_.nombre AS nombre3,
n0_.activo AS activo4,
n0_.comite_tecnico_id AS comite_tecnico_id5
FROM
nomencladores.norma n0_
WHERE
CAST (n0_.anno, "FM9999") LIKE %45%
SELECT
n0_.numero AS numero0,
n0_.anno AS anno1,
n0_. ID AS id2,
n0_.nombre AS nombre3,
n0_.activo AS activo4,
n0_.comite_tecnico_id AS comite_tecnico_id5
FROM
nomencladores.norma n0_
WHERE
to_char(n0_.anno, "FM9999") LIKE %45%
SELECT
n0_.numero AS numero0,
n0_.anno AS anno1,
n0_. ID AS id2,
n0_.nombre AS nombre3,
n0_.activo AS activo4,
n0_.comite_tecnico_id AS comite_tecnico_id5
FROM
nomencladores.norma n0_
WHERE
n0_.anno::text LIKE "%45%"
,没有工作,什么是实现这一目标上的PostgreSQL的正确方法?