比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询。也我们得花些心思才能查询到我们想得到的记录。
现在我们需要查询这天2014-06-21的所有记录:
SELECT * FROM [A] WHERE [B] = '2014-06-21'
上面的语法,将查询不到任何记录。也许会有网友想到使用BETWEEN:
SELECT * FROM [A] WHERE [B] BETWEEN '2014-06-21 00:00:00' AND '2014-06-21 23:59:59'
这样指定日期范围,确实可以查询到这天的数据记录,但是如果[B]有存储2014-06-21 23:59:59.xxx这样时间的话,这笔记录将会查询不出来。
或许你可以使用下面的方法来解决《如何获取当前日期的午夜的时间值》http://www.cnblogs.com/insus/archive/2011/09/09/2172419.html 和 《如何获取当前日期的最大时间值》http://www.cnblogs.com/insus/archive/2011/09/09/2172687.html
这样,就可以写成:
但是这样的实现似乎复杂了一点,是否更简单一点写法呢? 看看: