用于通配符搜索的SQL Server函数

时间:2018-02-28 05:01:06

标签: sql-server tsql sql-server-2014 sql-server-2016

样本表:

ColumnA    ColumnB
------------------
C*         value1 
Chi*       Value2 
Chil*      value3 

现在我需要一个函数,它可以根据ColumnA中具有最接近或完全匹配的输入返回columnB值。

例如:

  • 如果我的输入是“智利”,那么它应该返回value3
  • 如果我的输入是“中国”,那么它应该返回value2
  • 如果我的输入是“哥伦比亚”,那么它应该返回value1

1 个答案:

答案 0 :(得分:3)

不可思议,但功能正常。

示例

Declare @S varchar(50)='China'

Select Top 1 * 
 From  YourTable
 Where @S like Replace(ColumnA,'*','%')
 Order by len(ColumnA) Desc

<强>返回

ColumnA ColumnB
Chi*    value2