SELECT * FROM StatDay WHERE dDate='2004-01-13'

解决方案 »

  1.   

    但是我的dDate是datetime或者smalldatetime的数据类型,也是这样写么
      

  2.   

    SELECT * FROM StatDay WHERE dDate='2004-01-13'
    是SQL SERVER的正确写法是么
      

  3.   

    SQL SERVER比Access中日期的处理方便多了Access中的##好不习惯,调试的时候常常出问题
      

  4.   

    SELECT * FROM StatDay WHERE dDate='2004-01-13'
      

  5.   

    SELECT * FROM StatDay WHERE Datediff(d,dDate,'2004-01-13')=0
      

  6.   

    我认为最好采用(frogshero)的方法,因为如果采用=操作,好像和你服务器的时间格式有关,如果要采用=操作,最好用convert(varcahr(10),dDate,120)='2004-01-13'最安全
      

  7.   


    A:
    并不建议使用
    WHERE Datediff(d,dDate,'2004-01-13')=0因为这个条件无法使用 dDate 列上的索引B:
    SELECT * FROM StatDay WHERE dDate='2004-01-13'
    这个语句可以使用 dDate 上的索引,
    但SQL执行时会隐式的转换一次 '2004-01-13'这个条件可能不成立吧... :")C:
    建议
    SELECT * FROM StatDay WHERE dDate CAST('2004-01-13' AS DATETIME) AND CAST('2004-01-14' AS DATETIME)
      

  8.   

    convert(varcahr(10),dDate,120)='2004-01-13' 同样无法使用 索引