datetime 类型  2011-11-10 12:20:20.245
nvarchar 类型  2011/11/10 12:20:25最终目标:把年月日 时分秒 相等的选择出来。
这个相等怎么写呢。转换成时间吧,convert(date,time) 这样只能把年月日相等的选择出来。而且,在time后面加什么参数都不管用,比如
convert(date,time,23)转化成nvarchar吧,convert(nvarchar,time,20) 更离谱了,没有相等的。因为 字符串2011-11-10 和 2011/11/10不可能相等。

解决方案 »

  1.   

    where datetimecolumn >= convert(varchar(19),你的时间,120)
    and datetimecolumn < convert(varchar(19),dateadd(second,1,你的时间),120)
      

  2.   

    当然这样好理解些,但是效率不如上面的where convert(varchar(19),datetimecolumn,120) >= convert(varchar(19),你的时间,120)
      

  3.   

    更正where convert(varchar(19),datetimecolumn,120) = convert(varchar(19),你的时间,120)
      

  4.   

    直接datediff(ss,col1,col2)=0col1为datetime的 col2为nvarchar的
      

  5.   

    没有一个优雅的函数吗?提取出年月日和时分秒?convert(date,time) 这个不错,可是只提取出年月日啊。
      

  6.   


    在后面加什么参数应该可以吧。可我尝试了,加什么都不行。但是没有bug。