2012-07-06 52 views
0

我想通過兩個步驟在航班號上加入兩張表。比賽最長的航空公司代碼前綴

  • 滔滔不絕號碼匹配 - 像 'BUD1234' 匹配 'BUD123'
  • 航空公司代碼匹配 - 像 'BUD123' 匹配 'BUD',而不是 'BU' 和 'BU123' 不匹配 'BUD'

我的想法是找到第一個數字字符的位置並匹配字母前綴,但它可能太慢。這裏有更好的解決方案嗎?

+5

可能會更有效地拆分'FlightNumbers'分成兩場'AirlineCode varchar'和'數VARCHAR '? – teran 2012-07-06 09:36:28

回答

1

您可以使用積極的lookahead。喜歡的東西:

([a-zA-Z]+)(?=\d+) 

這將捕獲只是航空公司代碼,然後你就可以匹配