【问题标题】:SQL Server function for wild card search用于通配符搜索的 SQL Server 函数
【发布时间】:2018-08-07 21:39:19
【问题描述】:

示例表:

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

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

例如:

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

【问题讨论】:

  • 哥伦比亚如何与 value1 最接近?
  • @Paparazzi 表中有一个值'C*'

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


【解决方案1】:

不可搜索,但可以使用。

示例

Declare @S varchar(50)='China'

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

退货

ColumnA ColumnB
Chi*    value2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    相关资源
    最近更新 更多