Estoy teniendo problemas para hacer una selección de las filas que cumplen con ciertos criterios de fecha usando mi arcpy.UpdateCursor(). Necesito actualizar los registros de un campo en una tabla de geodatabase con un valor ascendente basado en el campo de la fecha. Esentially, lo que yo quiero es que cada fecha o después de 6/1/2004 y antes de o en 9/30/2004 a tener un valor a partir del 1 de ascender a 122 (el número de días entre las dos fechas, inclusive).
El problema parece ser con la sintaxis en mi cláusula where, me sale un error de sintaxis que dice:
Error de sintaxis (falta el operador) en la expresión de consulta '( "VAL_DATE" > = 'fecha 2004-06-01 00:00:00" Y "VAL_DATE" <= fecha'2004-09-30 00:00:00' )'.
Puede alguien me apunte a la "falta de operador de" el error está lanzando en mi cara??
Para su INFORMACIÓN, aquí está el trozo de código que estoy usando:
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" >= date\'%s\' AND "VAL_DATE" <= date\'%s\'' % (start_sim_date,end_sim_date)
## where = '"VAL_DATE" > date\'%s\'' % (start_sim_date)
print where
rows = arcpy.UpdateCursor(table,where)
for row in rows:
date = row.VAL_DATE
print date, sim_date_counter
row.SIM_DATE = sim_date_counter
rows.updateRow(row)
sim_date_counter += 1
del rows
ACTUALIZACIÓN: Solucionado, consulte cambiar a "DONDE" declaración a continuación:
where = '[VAL_DATE] >= #%s# AND [VAL_DATE] <= #%s#' % (start_sim_date,end_sim_date)