代码之家  ›  专栏  ›  技术社区  ›  softwareplay

MSSQL中的日期选择和日期格式

  •  0
  • softwareplay  · 技术社区  · 12 年前

    我必须使用microsoft SQL数据库进行选择事务。我必须在给定的时间范围内选择条目。所以我用jquery的日期选择器制作了我的小表单。数据库中的datetime字段具有以下输出:

     Jan 1 2014 12:00:00:000AM
    

    这是jquery日期选择器的格式:

     {dateFormat: 'M dd yy'}
    

    当我从表单中收到GET调用时(但我已经用POST进行了测试,输出是相同的),我将小时添加到日期中(我使用的是Zend框架1.12):

        $startdate= $this->getRequest()->getParam('datepicker');
        $startdate= $startdate." 12:00:00:000AM";
        $enddate= $this->getRequest()->getParam('datepicker1');
        $enddate= $enddate." 12:00:00:000AM";
    

    但它可能不是我选择的查询:

     SELECT [Document No_]
           ,[Sell-to Customer No_]
           ,[Planned Delivery Date]
           ,[Description]
           ,[Description 2]
     FROM dbo.SyncroPlanningTable 
     WHERE CAST([Planned Delivery Date] as datetime)>='".$startdate."' 
      AND CAST([Planned Delivery Date] as datetime)<='".$enddate."' 
     ORDER BY [Planned Delivery Date] ASC
    

    不提供任何输出。我做错了什么?

    1 回复  |  直到 12 年前
        1
  •  1
  •   toddsonofodin    12 年前

    这可能是SQL datetime列的输出,但它实际上存储为

    yyyy-mm-dd hh:mm:ss[.fff]

    因此,传递的格式需要类似

    2014-01-01 12:00:00:00上午

    Relevant MSDN article