0
所以我在這裏看了幾個不同的例子,但是他們沒有一個似乎在爲我工作。SQL按字母順序排序
這裏是什麼,我需要排序的一個樣本:
Alpha #1
Beta #3
Charlie #2
Alpha #2
Charlie #1
Beta #2
Beta #1
Alpha #10
並排序,當我想
Alpha #1
Alpha #2
Alpha #10
Beta #1
Beta #2
Beta #3
Charlie #1
Charlie #2
然而,當我使用下面的查詢,Alpha #10
不遵循所需的規則。
ORDER BY
Case When IsNumeric(LEFT(MachineName,1)) = 1
Then CASE When IsNumeric(MachineName) = 1
Then Right(Replicate('0',20) + MachineName + '0', 20)
Else Right(Replicate('0',20) + MachineName, 20)
END
When IsNumeric(LEFT(MachineName,1)) = 0
Then Left(MachineName + Replicate('',21), 20)
End
我得到這個代替:
Alpha #1
Alpha #10
Alpha #2
...
我是新來LEFT
和RIGHT
,所以我可能會做錯事,因此任何指導,將不勝感激!
是的,我相信這就是答案,但如果我有沒有一些行?例如,'Delta' 我收到錯誤:傳遞給左側或SUBSTRING函數的長度參數無效。我相信這是因爲某些條目中沒有數字而導致的 –
@HardTacos,請參閱編輯 –
謝謝!太棒了 –