sql >> Databasteknik >  >> RDS >> Sqlserver

Korrekt sortering av prickade nummer lagrade som tecken i SQL Server

Om du har SQL 2008 kan du använda den nya hierarkiska datatypen:

WITH Items (ItemNumber) AS (
    SELECT '1' UNION ALL SELECT '1.1' UNION ALL SELECT '1.1.1'
    UNION ALL SELECT '10' UNION ALL SELECT '11' UNION ALL SELECT '2'
    UNION ALL SELECT '2.1' UNION ALL SELECT '20' UNION ALL SELECT '3'
    UNION ALL SELECT '30'
)
SELECT *
FROM Items 
ORDER BY Convert(hierarchyid, '/' + ItemNumber + '/');


  1. Konvertera datum till MYSQL datumformat

  2. Generera (dvs skriv) en radnummerindexkolumn i MySQL

  3. Hur man säkert undkommer godtyckliga strängar för SQL i PostgreSQL med Java

  4. PHP använder CURRENT_TIMESTAMP från den östra tidszonen