sql-server – 在SQL Server中处理日期

我正在asp.net上的一个网站上工作.我从网页获取日期,然后根据用户输入我想从SQL Server数据库获取结果(使用存储过程).

问题是我只能从这个格式2016-10-08获取日期,这是类型字符串.但是在数据库中,我有一个类型为datetime的列,格式为2016-10-08 17:38:00.000.

我正在使用此查询进行搜索,但它不起作用.

select * 
from table 
where acceptedDate like @sDate+ '%';

其中sDate是存储过程的输入参数.请帮忙.谢谢

解决方法

不要将日期作为字符串传递.将它们作为DateTime传递.

.Net
DateTime
maps directly到SQL Server的
DateTime.您所要做的就是将字符串解析为.Net代码中的DateTime结构,并将其作为参数传递给存储过程.

要搜索特定日期并忽略DateTime的时间部分,最好使用> =和<在你的SQL中:

select * 
from table 
where acceptedDate >= @Date
AND acceptedDate < DATEADD(DAY,1,@Date);

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。