[英]Override SQL Server Default Sort Order
為了正確地將數據“匹配”到另一個數據源,我想在此查詢中添加一些內容(也許是排序規則?),以便返回結果AZ 0-9
而不是現在的0-9 AZ
。
SELECT TOP 1 order_id
FROM orders
WHERE order_id IS NOT NULL
ORDER BY order_id
請注意, order_id
是一個nvarchar
字段。
對於此示例,我要查找的是04394而不是ASK284。
這將迫使Alpha超過數字
SELECT TOP 1 order_id
FROM orders
WHERE order_id IS NOT NULL
ORDER BY case when order_id like '[0-9]%' then 1 else 0 end
,order_id
您可以通過對每種條件的CASE
表達式進行排序來做到這一點:
Select Top 1
order_id
From orders
Where order_id Is Not Null
Order By Case When Order_Id Like '[A-Z]%' Then 0 Else 1 End,
Case When Order_Id Like '[0-9]%' Then 0 Else 1 End,
Order_Id Asc;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.