6 votos

Cursores Arcpy, cláusulas WHERE y campos de fecha / hora

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)

6voto

aditya Puntos 111

¿La consulta se ejecuta desde el cuadro de diálogo "Seleccionar por atributos"? ¿Está seguro de que tiene la sintaxis correcta para el campo de fecha.

¿Qué base de datos está utilizando? Cada base de datos tiene su propia sintaxis para consultar las fechas. Eche un vistazo a Arc10 " Referencia SQL para las expresiones de consulta utilizadas en ArcGIS " en la sección FECHAS Y TIEMPOS .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X