0
65歳または19歳になる予定のメンバーの日付を見つける必要があります。 私はDOBと年齢があります。 SQL Serverメンバーが65歳になる日
は、彼らが 私ははそれをやって私を助けてください、結果としてその最後の列を必要とする19または65
Id DOB Age Date_Turning_65_or_19
--------------------------------------------
2 1952-09-30 64 2017-09-30
になりますときを示す日付が必要です。
私は別の数式を試していますが、動作しません。 `DATEADD(YEAR、65、dateOfBirthの)`:
私はこれだけではないだろう。このCASE
WHEN MONTH(GETDATE()) <= MONTH(DateOfBirth)
AND DATEDIFF(YEAR, DateOfBirth, GETDATE()) = '65'
THEN CONVERT(DATE, CONVERT(VARCHAR(2), MONTH(DateOfBirth)) + '/' + CONVERT(VARCHAR(2), DAY(DateOfBirth)) + '/' + CONVERT(VARCHAR(4), YEAR(GETDATE())))
WHEN DATEDIFF(YEAR, '19510901', GETDATE()) = '64'
THEN CONVERT(DATE, CONVERT(VARCHAR(2), MONTH(DateOfBirth)) + '/' + CONVERT(VARCHAR(2), DAY(DateOfBirth)) + '/' + CONVERT(VARCHAR(4), YEAR(GETDATE() + 365.25)))
のようなものを試してみましたか? – Lamak
'DATEDIFF'は常に数値を返します。なぜそれを文字列と比較していますか? 'DATEDIFF(YEAR、 '19510901'、GETDATE())= '64'' - これは実際に' DATEDIFF(YEAR、' 19510901 '、GETDATE())= 64'(**は一重引用符なし!)です。 –
私の実際の要件は、あなたがパラメータを渡すときです(私は65歳になる人が必要だと言います)。私は日付が –