Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да СОРТИРАМ по ред, въведен в SQL Server?

Ето един вграден подход

Пример

Declare @List varchar(max)='212345, 312345, 145687, 658975, 256987, 365874, 568974, 124578, 125689'

Select A.AccountNumber 
      ,A.EndDate
 From  Accounts A
 Join (
        Select RetSeq = Row_Number() over (Order By (Select null))
              ,RetVal = v.value('(./text())[1]', 'int')
        From  (values (convert(xml,'<x>' + replace(@List,',','</x><x>')+'</x>'))) x(n)
        Cross Apply n.nodes('x') node(v)
      ) B on A.AccountNumber = B.RetVal
 Order By B.RetSeq
RetSeq  RetVal
1       212345
2       312345
3       145687
4       658975
5       256987
6       365874
7       568974
8       124578
9       125689


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Информационна схема и първични ключове

  2. Как да решим Изявлението не върна грешка в набор от резултати?

  3. Извличане на имена на колони и типове на съхранена процедура?

  4. Преглед на историята на заданията на агент на SQL Server с SSMS

  5. Трикове за непрекъснато подобряване на мониторинга на базата данни