2017-11-11 124 views
0

我在我们的数据库中使用日期范围的问题。有机格式是datetime“yyyy-mm-dd 00:00:00.000”。我试图与这几个方面的工作,我没有任何成功,这些方法是:何处子句为日期时间格式不合作

  1. 有机如上文所述:

    Select 
    I.InvoiceDate 
    .... 
    Where I.InvoiceDate >= '2017-01-01 00:00:00.000' 
    
  2. ,并转换到MM/DD/YYY在选择与where子句为:

    Select 
    Convert(Char(10),I.InvoiceDate,101) as 'InvDt' 
    ... 
    Where Year(Convert(Char(10),I.InvoiceDate,101)) >= '2017' 
    
  3. 另外使用有机字段名称,而不是用于where子句的转换:

    Select 
    Convert(Char(10),I.InvoiceDate,101) as 'InvDt' 
    ... 
    Where I.InvoiceDate >= '10/01/2017' 
    
  4. 最后,我还尝试在select和/或where子句中使用合适的年/月标签挑选年份和/或月份。

在每种情况下相同的结果制作: Results I get AND the organic datetime format before converting to mm/dd/yyyy

感谢您的帮助好人。

+0

什么是你的问题? –

+0

如何根据日期获取where子句以指定过滤器。 – Miskondukt

+0

您正在使用哪个[DBMS](https://en.wikipedia.org/wiki/DBMS)产品? “_SQL_”只是一种查询语言,而不是特定数据库产品的名称。 –

回答

0

你可以试试这个

选择

* 从表名

其中CREATE_DATE> = '2017年11月8日00:00:00.000'

+0

:facepalm:真的......这是间距!?我甚至没有想过要尝试,因为其他领域的工作与间距。谢谢你,先生。 – Miskondukt

+0

兄弟你的第一个是正确的, 可以请你打电话给我什么是你想要的我的意思是问题 –

+0

提供的解决方案工作,也许它是我瓦特/手指昨晚或不,但当我删除间距我得到了正确的结果。 我无法解释它,但是当我将编码更改为... InvoiceDate> ='2017-01-01 00:00:00.000'from ... InvoiceDate> ='2017-01-01 00:00:00.000 ' 有效。 – Miskondukt