一、假设条件
假设存在如下的表结构以及记录。
ID 整型的
MyDateTime 字符型的
Content 字符型的
尽管字段MyDateTime是字符型的,但是里面存储的内容完全是日期时间型的,比如:
2008-1-1 15:30:21
2009-1-1 15:30:21
2010-1-1 15:30:21
2011-1-1 15:30:21
……
二、应用需求
给定一个日期时间YouDateTime变量,用于对比表中的MyDateTime字段,筛选出YouDateTime大于等于MyDateTime情况下的记录。
现在的问题是,YouDateTime是日期时间型的,而字段MyDateTime则是字符型的。
如果直接比较大于,当然会出错。如果将YouDateTime转换成为与MyDateTime一致的字符型,那么,势必造成比较上存在的误差。
现在,最好的办法就是将MyDateTime字段在查询语句中,将其数据转换成为日期时间型的,这样,就可以和YouDateTime直接比较大小了。由于两者皆是日期时间型的,那么,在比较上,是非常准确的。
三、转换语句
根据一二的结论,现在,完整的经过本站验证的语句如下:
select * from 表的名称 where @YouDateTime >= Cast(MyDateTime As DateTime )
注意哦,如上的变量YouDateTime,在语句中,最好将其设置成为参数@YouDateTime,否则,容易出错误。
最后,在语句中,给您的参数@YouDateTime 赋值即可,比如:
YouDateTime=System.DateTime.Now();
这样就可以保证万无一失了。当然,以上是使用Cast进行转换的。我们还可以使用Convert.ToDateTime(MyDateTime)来进行转换。转换的方法很多,但是,本站还是推荐您使用Cast进行转换。