SORU
15 EKİM 2009, PERŞEMBE


Yaş (yıl) ve getDate Doğum Tarihini hesaplamak için nasıl()

Bir masa da doğum tarihi ile birlikte insanlar (şu anda bir nvarchar(25)) listede

Nasıl bir tarih dönüştürmek ve kendi yaş hesaplamak yıl sonra alabilir miyim?

Verilerimi gibi görünüyor

ID    Name   DOB
1     John   1992-01-09 00:00:00
2     Sally  1959-05-20 00:00:00

Görmek istiyorum:

ID    Name   AGE  DOB
1     John   17   1992-01-09 00:00:00
2     Sally  50   1959-05-20 00:00:00

Çok teşekkürler!

CEVAP
15 EKİM 2009, PERŞEMBE


bunu deneyin:

DECLARE @dob  datetime
SET @dob='1992-01-09 00:00:00'

SELECT DATEDIFF(hour,@dob,GETDATE())/8766.0 AS AgeYearsDecimal
    ,CONVERT(int,ROUND(DATEDIFF(hour,@dob,GETDATE())/8766.0,0)) AS AgeYearsIntRound
    ,DATEDIFF(hour,@dob,GETDATE())/8766 AS AgeYearsIntTrunc

ÇIKIŞ:

AgeYearsDecimal                         AgeYearsIntRound AgeYearsIntTrunc
--------------------------------------- ---------------- ----------------
17.767054                               18               17

(1 row(s) affected)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006