【发布时间】:2019-10-02 07:42:49
【问题描述】:
我想计算人们的下一个生日 在我的数据库中,我有一个名为 dateofbirth 的列和另一个名为生日的列 我希望能够使用 ssql 中的计算列来计算生日。
(datepart(year,getdate())&datepart(day,[DateofBirth]))
我认为我可以通过数据表务实地做到这一点,但我得到了一个错误。 下面是我的代码。
将birthda作为新的SqlDataAdapter(birthcmd)
Dim birthdt As New DataTable
birthda.Fill(birthdt)
For Each rw As DataRow In birthdt.Rows
Dim dob As String = rw.Item(3)
Dim mdat As Date = FormatDateTime(dob, DateFormat.ShortDate)
Dim bday As Date = (Date.Today.Year & mdat.Month & mdat.Day)
Dim yers As Integer = DateDiff(DateInterval.Year, mdat.Date, Today.Date)
Dim moths As Integer = DateDiff(DateInterval.Month, mdat.Date, Today.Date)
Dim dys As Integer = DateDiff(DateInterval.Day, mdat.Date, Today.Date)
【问题讨论】:
-
很好,但我想拆分出生日期并自动将年份更改为当前年份。
-
SQL 无关紧要。
Date在 VB 中是Date,无论它来自何处。您可以使用当前日期的Year和数据库值中的Month和Day创建一个新的Date值。然后,您可以测试该日期是否为过去,如果是,请使用AddYears为其添加年份。 -
好主意我这样做了,但我得到了一个错误。下面是我的代码
-
好主意我这样做了,但我得到了一个错误。让我编辑我的问题,或者你看看我哪里弄错了