db2 sql сопоставление с образцом - PullRequest
2 голосов
/ 07 апреля 2010

У меня есть таблица в db2, которая имеет следующие поля

  • int xyz;
  • string myId;
  • string myName;

Пример набора данных

xyz  |  myid         | myname
--------------------------------
1    |  ABC.123.456  | ABC
2    |  PRQS.12.34   | PQRS
3    |  ZZZ.3.2.2    | blah

Я хочу извлечь строки, в которых myName соответствует символу до "." в поле myId. Итак, из приведенных выше 3 строк я хочу первые 2 строки, так как myName присутствует в myId перед "."

Как я могу сделать это в запросе, могу ли я выполнить какое-то сопоставление с шаблоном внутри запроса?

1 Ответ

2 голосов
/ 07 апреля 2010

LEFT и LOCATE работают в экземпляре DB2, к которому я могу подключиться (что, конечно, может не помочь!)

Так что, надеюсь, что-то вроде этого ...

SELECT
    *
FROM
    MyTable Z
WHERE
    LEFT(myid, LOCATE('.', myid)) = myname + '.'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...