在搜索结果后排序 SQL 个查询

Sorting SQL query after search result

我有 table 包含列 FULL_NAME,我正在搜索并获得结果。我需要按搜索位置(搜索词)对这些列进行排序。

Example Of data
Column (FULL_NAME) 
ID FULL_NAME
1 扎伊德说阿拉布里
2 说 sleem salim AlAhmedi
3 萨利姆·扎伊德·艾哈迈德·阿尔扎伊德
4 Ahmed said zaid AlSalimi

搜索示例:

SELECT FULL_NAME
FROM Table
WHERE(FULL_NAME LIKE N'%ِAhmed%')

我需要这样的结果

ID FULL_NAME
1 艾哈迈德 赛义德·阿尔萨利米
2 Ahmed salim AlAhmedi
3 salim zaid Ahmed AlZaid
4 said sleem salim AlAhmedi

这是我要查询结果后按位置排序的结果。

类似这样的东西可能对你有用:

select *
from table
where full_name like N'%Ahmed%'
order by charindex(N'Ahmed', full_name)

charindex函数returns搜索匹配字符串的字符数。

既然您已将 SQL 服务器标记为您的数据库,请试试这个:

select *
from table
where full_name like N'%Ahmed%'
order by charindex('Ahmed',full_name,1)

我认为如果您使用的是 SQL 服务器,您可以使用 CHARIndex 来使用条件订单 如下

SELECT    EnglishName   
FROM            Employees
where EnglishName like N'%Ahmed%' 
order by charindex(N'Ahmed',EnglishName,1)