während die folgende Abfrage in mssql 2k12 läuft,mssql Abfrage Ausgabetag Bereich
select PROBSUMMARYM1.AFFECTED_ITEM,
sum(case when SLORESPONSEM1.BREACHED='t' then 1 else 0 end) BREACHED,
sum(case when SLORESPONSEM1.BREACHED='f' then 1 else 0 end) NOBREACHED,
SLORESPONSEM1.SLO_ID
from PROBSUMMARYM1
INNER JOIN SLORESPONSEM1
ON NUMBER=FOREIGN_KEY
where OPEN_TIME>'2014-11-12'
group by AFFECTED_ITEM,SLO_ID;
ich die gewünschte Ausgabe zu bekommen, aber wenn ich das Datum in der Linie 8 über einem der folgenden ändern, ich bin nur immer Header & keine Daten, kann jemand vorschlagen, was könnte das Problem sein, die db hat eine gute Menge an Daten für die genannten Zeiträume, das ist sicher und offensichtlich aus einigen fertigen (boxed) Berichte aus der Anwendung mit derselben mssql Instanz
where OPEN_TIME<'2016-05-31'
oder
where OPEN_TIME<'2016-01-01'
oder
where OPEN_TIME between '2016-01-01' AND '2016-06-30'
Danke und Grüße Hemant Vaswani
USE 'CONVERT (DATE, OPEN_TIME, 102)' in where-Klausel –
Was ist der Datentyp von 'OPEN_TIME'? Verwenden Sie nicht "BETWEEN" für Datumsbereichsabfragen und verwenden Sie "yyyymmdd" im Gegensatz zu "yyyy-mm-dd". Aus Gründen siehe http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx, http://sqlblog.com /blogs/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range-queries.aspx und http://blogs.sqlsentry.com/aaronbertrand/backtobasics-dating-responsibly/ . –
Datentyp von 'OPEN_TIME' ist 'Datetime' –