2016-04-27 3 views
0

Ich habe Schwierigkeiten, Details dazu zu finden. Ich verwende Sharepoint 2010 und verwende REST, um meine Daten zu erfassen. Ich möchte einen Datumsbereich abfragen REST verwenden:REST - Datumsbereichsfilter in einer Einzelleitungstextspalte

http://localhost/_vti_bin/listdata.svc/TEST?$filter=(Column2 ge datetime'2016-04-06') and (Column2 lt datetime'2016-04-09') 

Aber ich erhalte eine Fehlermeldung:

Opérateur 'ge' incompatible avec les types d'opérande 'System.String' et 'System.DateTime' à la position 20. 

Leider ist es in Französisch, aber übersetzt in etwa dem ‚ge‘ Betreiber ist unvereinbar mit ‚System .String 'und' System.DateTime 'Typen.

Hier ist ein Beispiel für meine Spalten, sie sind alle einzeilige Texte Spalten.

Column1 Column2    Column3 
BLah  2016-04-01 16:00 Blah1 
Blahs  2016-04-02 16:00 Blahs2 
Blhass  2016-04-03 16:00 Blahss3 
Blhasss 2016-04-06 16:00 Blhasss4 
sBlah  2016-04-08 16:00 sBlah5 
ssBlah  2016-04-08 16:00 ssBlah6 
sssBlah 2016-04-09 16:00 sssBlah7 

Würde jemand damit umgehen?

Antwort

0

Der Grund, warum es sich beschweren ist, dass das Format, das Sie verwenden, nur funktioniert, um tatsächliche Datumsfelder zu vergleichen; Die Felder in Ihrer Liste sind einzelne Zeilen von Textfeldern.

Glücklicherweise haben Sie Ihre Datumszeichenfolgen so formatiert, dass ihre alphabetische Reihenfolge sehr gut mit ihrer zeitlichen Reihenfolge übereinstimmt.

Daher können Sie dieselbe Filterlogik ausführen, um Ihren Bereich von Elementen abzurufen, solange Sie nicht versuchen, Ihre Vergleichswerte in datetimes zu konvertieren; lass sie als Saiten.

$filter=(Column2 ge '2016-04-06') and (Column2 lt '2016-04-09')

+0

Ah vielen Dank, dass der Trick! –

Verwandte Themen