Windowsと.NET・C#の業務開発メモと覚書。その他ガジェットやサービスなどのレビューをまとめたブログ。 Transact-SQL のお話。 非常によくある要件に、現在日時から○ヶ月前のデータを取得する、一定の期間内のデータを取得する、だとかがある。 で、検索対象となるカラムが datetime で、日付を検索条件とする際には注意が必要だ。 例えば、二ヶ月前から現在のデータを取得するには……。 -- GETDATE() = 2013-03-01 20:12:13.583 SELECT * FROM Hoge WHERE PROCESS_DT between DATEADD(month, -2, GETDATE()) AND GETDATE() とやりがちで、データも取得できるので一見良さそうにみえる。 しかし、「2013-01-01 11:11:11.111」のレコードが取得できるだ
連載第11回では、SQL文を入れ子にして条件指定をする構文である「副問い合せ」を紹介しました。今回は、副問合せを応用したさまざまな構文例をご紹介します。 まずは、前回の復習として、「全社員の平均給与よりも、給与が高い社員は誰か」を調べてみましょう。副問合せで全社員の平均給与値を求め、それよりも給与額が高い社員を調べるには、以下のように指定すればよかったですね。 では、次にもう少し複雑な例を考えてみましょう。 「自分が所属する部門の平均給与よりも、給与が高い社員は誰か」を考えてみます。ポイントは、「自分が所属する部門」と比較しなければならない点です。 今までの例(図1)では、「全社員の平均給与」という単一の値と比較すればよかったのに対して、この問合せでは、人によって比較する条件値が異なります。つまり、部門10に所属する人であれば部門10の平均給与と、部門20に所属する人であれば、部門20の平
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く