LIKE BINARY в MySQL

Я хочу выбрать набор результатов, которым, перемещая его выбор из-за like, но результат может состоять в том, чтобы он был в строчной букве или прописной букве. Я сделал следующего способа:

SELECT * FROM DocumentosAux WHERE numeroDocDisco like binary 'pbra';

Также:

 SELECT * FROM DocumentosAux WHERE binary numeroDocDisco like 'pbra';

Но ни одна из форм не дает желанный результат, так как смогла бы эта написанный как Pbra, pBra, PBRA, и т.д.

1
задан 14.02.2017, 17:37
0 ответов

Puedes usar:

SELECT *
  FROM DocumentosAux
 WHERE numeroDocDisco COLLATE UTF8_GENERAL_CI like '%pbra%';

(Suponiendo que estés usando utf8 como menciona @sstan. Si no tendrá que usarse el collate correspondiente en su versión case insensitive _ci)

o

SELECT *
  FROM DocumentosAux
 WHERE lower(numeroDocDisco) like '%pbra%';

Por otro lado, si siempre quieres que sea insensible a mayúsculas, puedes cambiar la definición de la tabla y usar COLLATE UTF8_GENERAL_CI.

2
ответ дан 03.12.2019, 17:03
  • 1
    Если, используя COLLATION GENERAL_CI в конфигурации я я функционирую –  14.02.2017, 17:31
  • 2
    @Carlos ты можешь отмечать этот ответ как принятая, если solucionó твоя проблема –  14.02.2017, 17:38
  • 3
    Глаз, который к себе не может применять collate utf8_general_ci слепо к любой пластине, потому что он может, что пластина не esté не используя utf8 абсолютно. Например, в случае OP, кажется, что данные использовали latin1, и не возможно делать прыжком от latin1 до utf8 así не больше. Ты должен поддерживать это внутри той же семьи. Поэтому, OP конечно был должен использовать latin1_general_ci, и не utf8_general_ci. –  14.02.2017, 19:06