我需要匹配缩写,其中的点表示所有开头的内容,例如:

Rows:
  blue love
  abo love
  comeb love
  blue lauer
  blue alo

(a)

Input:
  b. love

Expected output:
  blue love

(b)

Input:
 b. l.

Expected output:
  blue love
  blue lauer

有小费吗?

最佳答案

您可以转换。到%,以便您可以执行LIKE

SELECT @yourfilter = REPLACE(@yourfilter, '.', '%');

然后只需使用它:
SELECT * FROM TABLE WHERE COLUMN LIKE @yourfilter

等效于:
SELECT * FROM TABLE WHERE COLUMN LIKE 'b% love'

要么
SELECT * FROM TABLE WHERE COLUMN LIKE 'b% l%'

Here is a working SQL Fiddle example

10-07 15:54