DateTime dTimeDB1 = Convert.todateTime(数据库中的值)
DateTime dTimeDB2 = Convert.todateTime(数据库中的值)
2.然后,再进行比较
使用比较方法:
if(DateTime.Compare(dTimeDB1 ,dTimeDB2) >0)
说明:dTimeDB1 >dTimeDB2即dTimeDB1 是晚于dTimeDB2的时间
当然也可以不使用比较方法,而直接比较时间大小,就像比较数值一样
第二种方法则可以利用sql提供的日期转换函数了。CONVERT (<data_ type[ length ], <expression [, style])1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。2)length用于指定数据的长度,缺省值为30。3)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。上图中GETDATE()函数是以DATETIME 的缺省格式返回系统当前的日期和时间 。如果用这种方法来判断某一个字段的话,则存入的日期字段的字符串格式只要是能让sql server完成对日期的转换就可以了,而不一定要像第一种方法中的那样严格。还是说adddate字段,比如要比较它是否大于当前的日期,就可以这样写:个人认为第二种方法更加保险一些。Mysql在比较两种不同数据类型时,第一步是将他们转化为同一种类型,然后在比较。那么Date和String在比较的时候,一定是把String转化为Date吗?答案是Yes.http://dev.mysql.com/doc/refman/5.0/en/type-conversion.html
If one of the arguments is a TIMESTAMP or DATETIME column and the other argument is a constant, the constant is converted to a timestamp before the comparison is performed.
简单举个例子,如果是用字符串比较,"2004-04-31"这个string应该比2004-01-01这个date来得大,但是4-31是一个invalid的日期(4月是小月),会被转化成"0000-00-00",所以2004-01-01 (日期) >"2014-04-31"。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)