[解決済み] SQL Server FOR EACH ループ
2022-03-13 21:50:54
質問
次のようなSQLクエリがあります。
DECLARE @MyVar datetime = '1/1/2010'
SELECT @MyVar
これは当然、「2010/1/1」を返します。
例えば、日付のリストが欲しい。
1/1/2010
2/1/2010
3/1/2010
4/1/2010
5/1/2010
そして、数字をFOR EACHして、SQLクエリを実行したいのです。
のようなものです(擬似コード)。
List = 1/1/2010,2/1/2010,3/1/2010,4/1/2010,5/1/2010
For each x in List
do
DECLARE @MyVar datetime = x
SELECT @MyVar
つまり、これは次のように返されます。
1/1/2010 2/1/2010 3/1/2010 4/1/2010 5/1/2010
複数の結果セットではなく、1つの結果セットとしてデータを返したいので、クエリの最後に何らかのユニオンを使用し、ループの各反復が次のループにユニオンするようにする必要があるかもしれません。
編集
私は、「to date」パラメータを受け入れる大規模なクエリを持っています。私はそれを24回実行する必要があり、毎回特定のto dateを指定する必要があります(これらの日付は動的である予定です)。
解決方法は?
SQLは主に集合指向の言語なので、一般的にループを使うのは良くないとされています。
この場合、再帰的なCTEを使用して同様の結果を得ることができます。
with cte as
(select 1 i union all
select i+1 i from cte where i < 5)
select dateadd(d, i-1, '2010-01-01') from cte
関連
-
[解決済み] Oracleで上位100行を選択する方法は?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] mysqldumpで特定のテーブルをスキップする
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL-初心者のためのベスト入門SQLクエリ I
-
[解決済み] PostgreSQLのCREATE DATABASE IF NOT EXISTSをシミュレートしてみませんか?
-
[解決済み] データベースのインデックス作成はどのように行われるのですか?[クローズド]
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] SQLiteデータベースで、一度に複数行を挿入することは可能ですか?
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] SQLのインデックスとは何ですか?
-
[解決済み] Entity Framework VS LINQ to SQL VS ADO.NETでストアドプロシージャを使う?[クローズド]