Viac

Arcpy kurzory, klauzuly WHERE a polia dátumu/času

Arcpy kurzory, klauzuly WHERE a polia dátumu/času


Mám problém s výberom riadkov, ktoré spĺňajú určité dátumové kritériá pomocou môjho arcpy.UpdateCursor (). Potrebujem aktualizovať záznamy v poli v tabuľke geodatabázy vzostupnou hodnotou na základe poľa dátumu. V zásade chcem, aby mala hodnota pre každý dátum 1. 6. 2004 alebo neskôr a 30. 9. 2004 alebo 30. 9. 2004 hodnotu začínajúcu od 1 vzostupne po 122 (počet dní medzi týmito dátumami vrátane).

Zdá sa, že problém je so syntaxou v mojej klauzule WHERE, zobrazí sa chyba syntaxe, ktorá hovorí:

Chyba syntaxe (chýbajúci operátor) vo výraze dotazu „(„ VAL_DATE “> = dátum'2004-06-01 00:00:00 'A„ VAL_DATE “<= dátum'2004-09-30 00:00:00') ' .

Vie ma niekto upozorniť na „chýbajúceho operátora“, ktorého mi chyba hádže do tváre ??

FYI, tu je kúsok kódu, ktorý používam:

import arcpy from datetime import datetime table = r'removed…  noaa_precip_master.mdb  noaa_precip_master 'start_sim_date = datetime.strptime ('06/01/2004', '%m/%d/%Y') end_sim_date = datetime.strptime ( '09/30/2004 ','%m/%d/%Y ') sim_date_counter = 1 where =' "VAL_DATE"> = dátum  '%s ' A "VAL_DATE" <= dátum  '%s  " % (start_sim_date, end_sim_date) ## where = '"VAL_DATE"> dátum '% s  "% (start_sim_date) vytlačí, kde riadky = arcpy.UpdateCursor (tabuľka, kde) pre riadok v riadkoch: date = row.VAL_DATE dátum tlače , sim_date_counter riadok.SIM_DATE = sim_date_counter rows.updateRow (riadok) sim_date_counter += 1 del riadkov

AKTUALIZÁCIA: Vyriešené, pozrite si zmenu vyhlásenia „KDE“ nižšie:

where = '[VAL_DATE]> = #%s #AND [VAL_DATE] <= #%s #'%(start_sim_date, end_sim_date)

Spustí sa dotaz z dialógového okna „Vybrať podľa atribútov“? Ste si istí, že máte správnu syntax pre pole dátumu.

Akú databázu používaš? Každá databáza má svoju vlastnú syntax pre dotazovanie dátumov. Pozrite sa na Arc10 "Referencia SQL pre výrazy dotazov používané v ArcGIS" v TERMÍNY A ČASY sekcii.


Pozri si video: Присоединение базы данных Microsoft SQL Server в Management Studio