我需要一些帮助。
我在asp.net C#中编写了一个web应用程序,我想要下一个生日。我有。
1字段名称birthdate,键入DateTime。例如:1991-01-02 00:0000:0000 (yyyy-MM-dd)
。我想在转发器中向人们展示下一个生日。
select * from tblBirthday where birthdate between 2015-01-01 and datenow
但是,现在我使用datetime.now
后面的所有代码都是string
类型,生日值是datetime
类型。
如何使用datetime
类型获取datetime.now。
答案 0 :(得分:1)
您的datenow
究竟是什么?尝试使用存储过程,并使日期成为datetime
sql类型的参数,因此它适用于BETWEEN
结构,或使用sql server上的内置GETDATE()
函数一边,像这样:
select * from tblBirthday where birthdate between 2015-01-01 and GETDATE()
答案 1 :(得分:0)
使用Sql CAST AND CONVERT
CAST语法:CAST(表达式AS data_type [(length)])
CONVERT的语法:CONVERT(data_type [(length)],expression [ ,风格])
等。
select * from tblBirthday where Cast(birthdate as date) between
cast('01/01/2015' as date) and cast(getdate() as date)
--where getdate() is the sql function to get current datetime.
答案 2 :(得分:0)
确保在c#中传递DateTime.Now而不是DateTime.Now.ToString() 或者您可以对datetime“dd-MM-yy”进行格式化,然后将其转换为正确的日期时间对象,如下所示......
DateTime datetimenow = DateTime.Parse(DateTime.Now.ToString("dd-MM-yy"));