0

V1Nameを持つビューがありますDateOfBirth

ストアド プロシージャで、T2以下に示す一時テーブルを作成しました。

MinAge MaxAge Category
0      5      Under 5
13     19     Teenager

私のストアド プロシージャ クエリは次のようになります。

Select V1.Name, T2.Category 
from V1, T2 
where DATEDIFF(hour,V1.DateOfBirth ,GETDATE())/8766 between T2.minage and T2.maxage

今のところ、私の結果セットは問題ないようです。私の質問は、これら 2 つのテーブル間に直接的な関係がないため、今後、私の質問の結果が何らかの形で影響を受ける可能性があるかどうかです。

4

2 に答える 2

0

答えがないので、大きな影響はないと思わざるを得ません。@GregHNZからの提案は非常に役に立ちますが。ありがとう。

于 2012-09-18T14:43:34.287 に答える
0

日や時間で割るよりも、生年月日を足した方が年齢を簡単に判断できます。生年月日に 5 年を加算し、それを getdate() または報告日と比較して、その時点で 5 歳未満/5 歳以上の人を特定します。

于 2012-09-18T15:00:01.583 に答える