sql >> データベース >  >> RDS >> Sqlserver

SQL を使用して数値のリストを (一時) テーブルに変換する方法 (SQL Server)

    私がよく使うソリューション...

    数値のリストを VARCHAR(MAX) として指定します コンマで区切られた文字列の場合、多くの dbo.fn_split() のいずれかを使用します 人々がオンラインで書いた関数。

    多くのうちの 1 つ オンラインの例... SQL-User-Defined-Function-to-Parse-a-Delimited-Str

    これらの関数は文字列をパラメーターとして取り、テーブルを返します。

    次に、次のようなことができます...

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


    別の方法は、テーブル値パラメーターを調べることです。これらを使用すると、テーブル全体をパラメーターとしてストアド プロシージャに渡すことができます。使用しているフレームワークによって異なります。 .NET、Java、Ruby などを使用していますか?データベースとはどのように通信していますか?

    アプリケーション コードの詳細が分かれば、テーブル値パラメーターを使用するためのクライアント コードと SQL ストアド プロシージャ テンプレートの両方を示すことができます。



    1. IDを昇順でテーブルにデータを保存します

    2. pymssql.OperationalError:DB-Libエラーメッセージ20009、重大度9

    3. Rails:データベース接続が利用できない場合にメンテナンスページを表示する

    4. SQLサブクエリの結果で「LIKE」を使用する