Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menyortir angka putus-putus dengan benar yang disimpan sebagai karakter di SQL Server

Jika Anda memiliki SQL 2008 Anda dapat menggunakan tipe data hierarkiid baru:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menanamkan pernyataan kasus sql ke dalam kueri sql yang menggunakan FOR XML

  2. Bagaimana menghentikan konteks basis data yang diubah menjadi ... pesan

  3. Pemicu SQL Server - urutan eksekusi

  4. Bagaimana cara menggunakan JOIN alih-alih UNION untuk menghitung tetangga A OR B?

  5. Bagaimana cara menjalankan kueri SQL ini menggunakan ADO.NET?