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的正確方法?