匹配最长的航空公司代码前缀

时间:2012-07-06 09:24:06

标签: sql regex sql-server-2008

我想分两步加入两张关于航班号的表格。

  • 完整的航班号匹配 - 例如'BUD1234'匹配'BUD123'
  • 航空公司代码匹配 - 比如'BUD123'匹配'BUD',但不是'BU'和'BU123'与'BUD'不匹配

我的想法是找到第一个数字字符的位置并匹配字母前缀,但它可能太慢了。这里有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

你可以使用正向前瞻。类似的东西:

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

这将只捕获航空公司代码,然后您可以在

上进行匹配