SQL Server:如何选择按字母顺序最接近的记录的最接近的ID

时间:2019-06-24 19:55:11

标签: sql-server stored-procedures

我有一张表格(下面的示例数据),其中包含ID和公司名称。

用户可以输入对公司的搜索。如果该公司不存在,那么我的存储过程需要按字母顺序返回下一个公司的ID。

因此,请使用以下数据(这是

的结果
SELECT Id, CompanyName 
FROM COMPANY 
ORDER BY CompanyName

如果我的用户搜索 ACM Mechanical Services Inc ,则该数据中不存在该ID,并且存储过程返回的ID应该为15410(ADM Marine),因为按字母顺序,ACM Mechanical Services Inc会介于记录ID 16616(ACI控件)和15410(ADM Marine)之间。

最有效的方法是什么?

ID      CompanyName
------------------------
12295   A 1 Vending
16638   A B C RENT ALL
 8288   A Best Inc
16616   A C I Controls
15410   A D M Marine
12326   A Granchelli, Developer
 8687   A Greener Solution
13895   A H S Systems, Inc.
10914   A L Design Inc
16943   A L J Electrical Constr Co.
 1099   A Lunt Design Inc.
15623   A M Carpet Service
16618   A M Miller and Associates

1 个答案:

答案 0 :(得分:2)

使用$.get("https://api.giphy.com/v1/gifs/random?api_key=0zCoIz5c8dbanGyiAHnA0pSUe3bcA9sf&tag=dog&limit=1");子句检查名称是否等于或大于所寻找的名称WHERE,名称使用ORDER BY将结果限制为最上面的一条记录。 / p>

TOP