ASP.Net 开发中关于时间模糊匹配问题

来源:互联网 发布:追星必备软件 编辑:程序博客网 时间:2024/06/14 22:15
通过Calendar中的选中日期去匹配Sql Server数据库中的Datetime类型的列
首先是获取Calendar中的选中日期:Calendar1.SelectedDate.ToShortDateString();通过ToshortDateString()
可以将时间精确到日。但是在他人的博客中我发现,ToShortDateString()方法所显示的短日期字符串不是它本身所能控制
的,实际是由控制面板中的短日期设置决定的。这点对匹配有很不利的影响。
然后是SQL语句,一开始也想到用通用匹配符'%',如select * from table where time like '%2016-06-06%'但是
什么都搜索不出来,于是我到W3School查看SQL Date格式,获得了一个方法
CONVERT(data_type(length),data_to_be_converted,style)
通过select * from table where convert(varchar(10),time,120)='2017-06-06'可以用yyyy-MM-dd格式匹配
但是因为短日期设置不同匹配可能出错,ToShortDateString()的方法不可用,为统一格式应使用ToString("yyyy-
MM-dd")的方法
最后通过"select * from table where convert(varchar(10),time,120)="+"'"+Calendar1.SelectedDate.ToString("yyyy-MM-dd")+"'"成功获得结果。
原创粉丝点击