查看表中存放日期的字段,日期是:2011-11-14 9:01:56但用SQL查询语句查询出来是2011-11-14 9:01:56:403请问是什么原因啊本来是一条记录的,但是要日期比较取上一条记录时,本来是没有了,但显示的上一条是本条记录,请问大家这个问题该怎么解决。

解决方案 »

  1.   

    那最后一位是毫秒 默认加上的 你在保存时可以做个格式转换去掉它 用DateTime.ToShortTimeString()方法 或ToString("yyyy-MM-dd hh:mm:ss")
      

  2.   

    select top 1 * from 表名 where 日期<'2011-11-14' order by 日期 desc2011-11-14可以传进来参数
      

  3.   

    Select CONVERT(varchar(100), GETDATE(), 20)--: 2006-05-16 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 21)--: 2006-05-16 10:57:47.157
    Select CONVERT(varchar(100), GETDATE(), 22)--: 05/16/06 10:57:47 AM
    Select CONVERT(varchar(100), GETDATE(), 23)--: 2006-05-16
    Select CONVERT(varchar(100), GETDATE(), 24)--: 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 25)--: 2006-05-16 10:57:47.250
      

  4.   

    在sql查询时格式化日期select  username,CONVERT(varchar, CreateDate/*日期字段名称*/, 120 ) from user 
      

  5.   


    select CONVERT(varchar, getdate(), 120)
      

  6.   

    SQL Server 加上的时间的毫秒。
    当涉及到这个的时候一般是有多条数据的,有可能会在同一秒内有多条数据,所以建议不要按时间查询,因为一般情况下没有办法精确匹配而导致出错,建议用主键获取数据。