SQL Server搜索和排序依据

SQL Server搜索和排序依据,sql,sql-server,Sql,Sql Server,我想在SQL Server中搜索。当我输入一个bang,并像“%A bang%”一样使用,然后按 我想用以bang开头的单词来安排结果,然后结果包含bang,但不包含起始单词 SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY CLNTPFX ASC, CLNTCOY ASC, SURNAME ASC, GIVNAME ASC,

我想在SQL Server中搜索。当我输入一个bang,并像“%A bang%”一样使用,然后按

我想用以bang开头的单词来安排结果,然后结果包含bang,但不包含起始单词

SELECT *
FROM 
    (SELECT 
         ROW_NUMBER() OVER (ORDER BY CLNTPFX ASC, CLNTCOY ASC,
                                     SURNAME ASC, GIVNAME ASC,
                                     CLNTNUM ASC, UNIQUE_NUMBER DESC) ROWN,
         TEMP1.*
     FROM 
         (SELECT *
          FROM CLNTPF
          WHERE CLNTPFX = 'CN'
            AND CLNTCOY = '9'
            AND SURNAME LIKE 'A Bang'
            AND VALIDFLAG = 1) TEMP1) TEMP2
WHERE 
    ROWN > 12
    AND ROWN <= 24
你能帮我吗

谢谢大家

假设c1是要对数据进行排序的列,排序方式是先显示以O开头的单词,然后是文本中某处有O的单词,然后是所有其他单词,您可以向查询中添加order by,如下所示

ORDER BY CASE 
        WHEN c1 LIKE 'O%'
            THEN 1
        WHEN c1 LIKE '%O%'
            THEN 2
        ELSE 3 end;
根据您的示例数据,下面是结果

C1
------------------------
Owner
Owner
Owner
Owner
A Owner 
A Owner 
A Owner

您可以查看演示

共享上述查询的输出和您的预期结果。搜索O时预期的示例:Owner A Owner A Owner A Owner添加更多示例数据和所需的O/p,因此我们可以据此建议解决方案。
C1
------------------------
Owner
Owner
Owner
Owner
A Owner 
A Owner 
A Owner