ただ好奇心が強いですが、この順序を達成することは可能ですか?
X5
X30
これではなく、「箱から出して」ORDER BY:
X30
X5
すべての値が非数値部分で構成され、その後に数値部分が続くと仮定すると、次のように実行できます(AdventureWorks2008R2サンプルデータベースを使用)。
SELECT Name,
LEFT(Name,LEN(Name)-NULLIF(PATINDEX('%[^0-9]%',REVERSE(Name)),0)+1) AS StringPart,
CONVERT(FLOAT,RIGHT(Name,NULLIF(PATINDEX('%[^0-9]%',REVERSE(Name)),1))) AS NumericPart
FROM Production.Product
ORDER BY StringPart, NumericPart
これは、仮定が満たされない場合(たとえば、非数値部分が欠落している場合、または数値部分の後に別の文字列部分がある場合など)に「誤った」結果を提供します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加