时间字段里的时间含有小时分钟秒,怎样在网页中写sql语句

huangxiaohong 2005-07-22 04:48:16
例如:(C#)在网页中有个文本框(txt_date)用于供用户输入日期(只输入年月日)
然后我想把再这个时间里的记录都查询出来,应该怎么写语句呢?
在数据库中的字段及数据如下:(table)
id submit_time username
1 2004.03.03 aa
2 2004.03.03 10:20:30 bb
3 2004.03.03 10:20:32 cc
4 2005.05.04 15:30:20 ee
但是在文本框中输入的时间是:2004.03.03
如果写成str="select username from table where submit_time='"+txt_date+"'";
查询到的记录只有aa
现在我想得到的查询记录是:aa bb cc
请问应该怎么样写sql查询语句呢?
各位大侠快快来帮小妹一把吧!
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangxiaohong 2005-07-22
  • 打赏
  • 举报
回复
谢谢各位的帮忙
lwqdongtai 2005-07-22
  • 打赏
  • 举报
回复
sql = "SELECT username FROM table WHERE submit_time >='"+dt.ToShortDateString()+"' AND submit_time <='"+dt.AddDays(1).ToShortDateString()+"'"

Ivony() ( ) 的建議很有道理....
lovexyz 2005-07-22
  • 打赏
  • 举报
回复
也可以使用DATEPART函数进行操作,具体查看SQL Server自带的文档
chenyu17094256 2005-07-22
  • 打赏
  • 举报
回复
有2个函数,介绍你用:
datevalue(),timevalue()

这2个函数分别会把日期时间分开。
huangxiaohong 2005-07-22
  • 打赏
  • 举报
回复
谢谢楼上的两位
Ivony 2005-07-22
  • 打赏
  • 举报
回复
先转换成DateTime

DateTime dt = DateTime.Parse( txt_date ).Date;//只要日期部分
然后,
sql = "SELECT username FROM table WHERE submit_time >'"+dt.ToShortDateString()+"' AND submit_time <'"+dt.AddDays(1).ToShortDateString()+"'";


另外,不推荐这种直接嵌在字符串中的写法,如果是文本字段有注入式攻击的漏洞。
evlon 2005-07-22
  • 打赏
  • 举报
回复
select username from table where submit_time between '"+txt_date+"' and dateadd(dd,'"+txt_date+"',1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧