2010-10-08 76 views
1

我想在表中搜索varchar2列以匹配使用另一列中的值的字符串。正在搜索的列允許自由格式的文本,並允許不同長度的文字和數字。我想找到一個不屬於更大字符串文本和數字的字符串。查找表列中的匹配字符串Oracle 10g

舉例:1234A應與 「發票#1234A」,而不是 「發票#1234a567」

所採取的步驟: 我試圖REGEXP_LIKE(table2.Searched_Field,table1.Invoice),但得到許多虛假點擊的發票時號碼具有可在其他發票號碼中找到的號碼序列。

回答

1

建議:只有在結束

  1. 比賽:

    REGEXP_LIKE(table2.Searched_Field, table1.Invoice || '$') 
    
  2. 嚴絲合縫:

    table2.Searched_Field = 'Invoice #' || table1.Invoice 
    
  3. 僅匹配在結束與LIKE:

    table2.Searched_Field LIKE '%' || table1.Invoice