db2 sql模式匹配

时间:2010-04-07 15:54:41

标签: sql db2

我在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行开始,我想要第1行,因为myName出现在myId之前“。”

如何在查询中执行此操作,我可以在查询中进行某种模式匹配吗?

1 个答案:

答案 0 :(得分:2)

LEFT和LOCATE在我可以连接的DB2实例中工作(当然可能没用!)

所以希望这样的事情......

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