SQL 关于日期格式的查询

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:25:36
select * from ba_recorder where jz_date<='2008-08-12'

这个条件是包含'2008-08-12'这一天的.为什么我查出来的数据就不包含呢?库里面是有12号这天的数据的.

用成下面这名就包含12号的数据了

select * from ba_recorder where jz_date>='2008-08-12'

注:日期是精确到秒的.

JZ_ID Cover_id Doctor_id Jz_Date
JB0025.. BA00253.. DO0000.. 2008-08-12 08:08:38.030
JB0025.. BA00253.. DO0000.. 2008-08-12 08:25:28.640
JB0025.. BA00253.. DO0000.. 2008-08-12 08:28:01.420

你的数据是精确到秒的,所你当你查询<=’2008-08-12’时,它会默认给你当成2008-08-12 00:00:00
所以你数据库里面包含2008-08-12的数据都是大于它的
所以必须用>=

select * from ba_recorder where CONVERT(varchar,jz_date,23)<='2008-08-12'