2010-04-07 5 views
2

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

  • 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. Итак, из приведенных выше трех строк мне нужны строки из 2-х строк, так как myName присутствует в myId перед «.».

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

ответ

2

ЛЕВЫЙ и LOCATE работа в экземпляре DB2 я могу подключиться к (который не может помочь, конечно!)

Так что будем надеяться что-то вроде этого ...

SELECT 
    * 
FROM 
    MyTable Z 
WHERE 
    LEFT(myid, LOCATE('.', myid)) = myname + '.' 
+0

Угу. Это сработало. Сначала я обнаружил функцию charindex, которая была доступна в SQL Server, а не в DB2. LOCATE отлично работает – Jitesh