sql语句取某字段的前几位有关问题

sql语句取某字段的前几位问题。
sql  server 语句中where time=date.
time 是2014-10-18 12:20:28:123格式的
我的data是2014-10-18。没有后面的时间,请问怎么写能匹配到?取time的前几位?怎么写?求详细。
------解决思路----------------------
 Calendar c=Calendar.getInstance();
 long t=c.getTimeInMillis();
String abc=String.valueOf(t);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date=sdf.format(t)
就可以了
如果只要年月日什么的SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");就可以了
------解决思路----------------------
要么使用Java的SimpleDateFormat将date转换成yyyy-MM-dd HH:mm:ss的,
要么使用数据库的date()将time转换成yyyy-MM-dd的
------解决思路----------------------
DATEDIFF(day,time,date) = 0
------解决思路----------------------
引用:
DATEDIFF(day,time,date) = 0

------解决思路----------------------
数据库类型更改,或者转换成yyyy-MM-dd HH:mm:ss
------解决思路----------------------
where  CONVERT(varchar(100),time, 23)=date
------解决思路----------------------
Sql日期时间格式转换可以解决:
CONVERT(varchar(10), time, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/

可以的话希望给分,新手初来,有问题可以回复