SQL查询语句:关于时间的比较

时间:2024-04-16 16:49:13
        1、简单查询:select * from tablename where logtime>=\'2006/5/11 00:00:00.000\' and logtime<=\'2006/5/11 23:59:59.000\'  时间的格式依据表中格式而定。以下代码中时间字段名称均为logtime。
         2、datediff(d,logtime,getDate())函数,d是指时间格式,精确到天,getDate()取得当天的日期,函数返回值为getDate()-logtime的值,单位为天。下面这条语句是查询出最近七天的记录:select * from tablename where datediff(d,logtime,getDate())<=6。
        3、在页面的两个TextBox中输入时间字串,取得在这个时间段内的记录,textbox.Text的值是string类型,要将它转换成时间类型才可以进行比较,下面是C#的一段代码:
protected System.Web.UI.WebControls.TextBox starttime;
protected System.Web.UI.WebControls.TextBox endtime;

System.DateTime stime
=Convert.ToDateTime(starttime.Text.ToString());
System.DateTime etime
=Convert.ToDateTime(endtime.Text.ToString());

string sql="logTime>=\'"+stime.ToShortDateString()+" 00:00:00.000\' and logTime<=\'"+etime.ToShortDateString()+" 23:59:59.000\'"
         4、要在文本框中输入正确的时间格式对于用户来说很困难,所以在考虑能不能把日期的输入做成日历式选择控件,当用户点击文本框时自动弹出日历,用户可以随意选择时间。在网上查了一些资料,发现已经有了这样的控件,不妨发挥一下拿来主义的精神,哈哈。感谢二十四画生http://www.cnblogs.com/esshs/archive/2005/03/29/127691.aspx
         下载后在自己的工程中工具箱里添加inputCalendar.dll文件,确保控件被添加到工具箱中。但问题也没有这么简单,由于最近一直在用自定义用户控件开发Sharepoint站点中的webpart,这时问题来了,该控件在用户控件中使用不能取得Text的值,在二十四画生的blog上看到他修改的代码,下载下来再自己机器上把代码修改后重新编译一遍,覆盖原来的那个dll文件就ok了。另外要注意的一点就是,在上传到Sharepoint站点中时,别忘了把inputCalendar.dll文件拷贝到C:\Inetpub\wwwroot\bin目录中。