4 votos

Las fechas y los paréntesis en la consulta sql en arcpy

Estoy tratando de seleccionar registros dentro de un determinado rango de fecha de un archivo de clase de entidad de geodatabase utilizando una consulta sql, pero estoy teniendo un tiempo difícil conseguir la sintaxis correcta. He intentado de muchas maneras pero en este momento estoy recibiendo no hay registros devueltos. El último par de versiones de la consulta que he probado son de la siguiente manera:

whereClause = """'{0}' > '{1}' AND '{0}' < '{2}'""".format(arcpy.AddFieldDelimiters(fcMaster, "date"), '2016-10-02 02:30:00', '2016-10-05 02:30:00')

whereClause = """'{0}' BETWEEN '{1}' AND '{2}'""".format(arcpy.AddFieldDelimiters(fcMaster, "date"), 'date 2016-10-02 02:30:00', 'date 2016-10-05 00:02:30')

2voto

Gavin Schulz Puntos 592

Casi allí.

Como por @Pablo comentario, usted no desea que su {0} en las comillas como el AddFieldDelimiters de asas que para usted si es necesario.

Usted también desea mover la palabra date fuera de sus comillas en '{1}' por lo que es date '{1}', y, a continuación, en el formato de cadena de quitar la "fecha" de los valores pasados, por lo 'date 2016-10-02 02:30:00' debe convertirse '2016-10-02 02:30:00'

Intentar algo como esto:

whereClause = """ {0} BETWEEN date '{1}' AND date '{2}' """.format(arcpy.AddFieldDelimiters(fcMaster, "date"), '2016-10-02 02:30:00', '2016-10-05 00:02:30')

Al escribir consultas de selección como esta yo siempre construir primero en Seleccionar por Atributos de la ventana dentro de ArcMap para ver lo que se debe buscar como y, a continuación, utilizar un print declaración en mi cláusula where en arcpy para asegurarse de que mi consulta es el mismo que hace en la selección por Atributos de la ventana.

Por ejemplo esto es lo que acabo de prueba para obtener la sintaxis para esta respuesta:

enter image description here

También tenga en cuenta: el segundo valor de fecha/hora se utiliza 00:02:30 (2 minutos y medio después de la medianoche) y parece que debería ser en realidad, 02:30:00 (2:30 AM)

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