Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przekonwertować listę liczb na (tymczasową) tabelę za pomocą SQL (SQL Server)

Rozwiązanie, którego często używam...

Podaj swoją listę liczb jako VARCHAR(MAX) ciąg rozdzielany przecinkami, a następnie użyj jednego z wielu dbo.fn_split() funkcje, które ludzie napisali online.

Jeden z wielu przykłady online... SQL-Zdefiniowana-Funkcja-do-przeanalizowania-Stregu-Rozdzielanego-

Funkcje te przyjmują jako parametr ciąg znaków i zwracają tabelę.

Wtedy możesz robić takie rzeczy jak...

INSERT INTO @temp SELECT * FROM dbo.split(@myList)

SELECT
  *
FROM
  myTable
INNER JOIN
  dbo.split(@myList) AS list
    ON list.id = myTable.id


Alternatywą jest przyjrzenie się parametrom o wartościach w tabeli. Umożliwiają one przekazanie całej tabeli do procedury składowanej jako parametr. Jak zależy od frameworka, którego używasz. Czy korzystasz z .NET, Java, Ruby itp. i jak komunikujesz się z bazą danych?

Gdy dowiemy się więcej szczegółów na temat kodu aplikacji, możemy pokazać zarówno kod klienta, jak i szablon procedury składowanej SQL w celu korzystania z parametrów o wartościach tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie listy<> do procedury składowanej SQL

  2. serwer sql :wybierz wiersze, których suma pasuje do wartości

  3. Jak korzystać z aspnet_regsql.exe

  4. Czy mogę utworzyć funkcję globalną w SQL Server?

  5. Jak uzyskać adres IP klienta z samego SQL Server 2008?