【问题标题】:difference if I put the DateAdd function between the SELECT and FROM and FROM and WHERE如果我将 DateAdd 函数放在 SELECT 和 FROM 以及 FROM 和 WHERE 之间,会有什么区别
【发布时间】:2019-03-27 10:28:31
【问题描述】:

我创建了一个必须由 datetimepicker 控制的查询,我的目标是获得 datetimepicker 设置的指定日期的下 7 天

我在查询中尝试过,但似乎完全没有区别,或者我的查询代码错误

     select count(PatientID) as id, Patient.FirstName, Patient.LastName, 
      Patient.MiddleName, " +"Patient.Nickname, Patient.Age, 
       Patient.Birthday, Patient.Sex, Patient.Occupation, 
       Patient.CompleteAddress, Patient.MobilePhone, Patient.Phone, " +
       "Patient.PersonTCI, Patient.PContact, Patient.DateofC 

       from Patient 

        Where DATEADD ('d' , 7 , datetimepicker1 ) and Active = '1' " + "

        Group by Patient.FirstName, 
        Patient.LastName, Patient.MiddleName, 
        Patient.Nickname, Patient.Age, Patient.Birthday, Patient.Sex, 
        Patient.Occupation, Patient.CompleteAddress, " +
        "Patient.MobilePhone, Patient.Phone, Patient.PersonTCI, 
          Patient.PContact, Patient.DateofC"

【问题讨论】:

  • 您认为或期望Where DATEADD ('d' , 7 , datetimepicker1 ) and Active = '1' 会做什么?
  • 您想要获取日期时间选择器中所选日期之后的 7 天,还是之前的 7 天?您在查询中将其与哪个日期值进行比较?谢谢

标签: c# winforms dateadd


【解决方案1】:
    select count(PatientID) as id, Patient.FirstName, Patient.LastName, 
          Patient.MiddleName, " +"Patient.Nickname, Patient.Age, 
           Patient.Birthday, Patient.Sex, Patient.Occupation, 
           Patient.CompleteAddress, Patient.MobilePhone, Patient.Phone, " +
           "Patient.PersonTCI, Patient.PContact, Patient.DateofC 
       from Patient 

        Where Patient.DateofC>=Patient.DateofC and Patient.DateofC<= datetimepicker1.value.AddDay(7)     and Active = '1' " + "

        Group by Patient.FirstName, 
        Patient.LastName, Patient.MiddleName, 
        Patient.Nickname, Patient.Age, Patient.Birthday, Patient.Sex, 
        Patient.Occupation, Patient.CompleteAddress, " +
        "Patient.MobilePhone, Patient.Phone, Patient.PersonTCI, 
          Patient.PContact, Patient.DateofC"

【讨论】:

    【解决方案2】:

    where 子句中缺少日期比较的条件。 这个怎么样。

    var dateFrompicker = datetimepicker1.AddDay(7);
    select count(PatientID) as id, Patient.FirstName, Patient.LastName, 
          Patient.MiddleName, " +"Patient.Nickname, Patient.Age, 
           Patient.Birthday, Patient.Sex, Patient.Occupation, 
           Patient.CompleteAddress, Patient.MobilePhone, Patient.Phone, " +
           "Patient.PersonTCI, Patient.PContact, Patient.DateofC 
    
           from Patient 
    
            Where dateFrompicker >  Patient.DateofC   and Active = '1' " + "
    
            Group by Patient.FirstName, 
            Patient.LastName, Patient.MiddleName, 
            Patient.Nickname, Patient.Age, Patient.Birthday, Patient.Sex, 
            Patient.Occupation, Patient.CompleteAddress, " +
            "Patient.MobilePhone, Patient.Phone, Patient.PersonTCI, 
              Patient.PContact, Patient.DateofC"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      相关资源
      最近更新 更多