2010-04-07 52 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字段中。因此,從上面的3行中,我想要第一行2,因爲myName在「。」之前存在於myId中。

如何在查詢中執行此操作,我可以在查詢內部進行某種模式匹配嗎?在DB2實例

回答

2

LEFT並找到工作,我可以連接到(可能沒有幫助,當然!)

所以希望這樣的事情...

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

是啊。這工作。我最初發現charindex函數在SQL Server中可用,而不在DB2中。 LOCATE工作完美 – Jitesh 2010-04-07 19:08:56