Processing math: 100%

4 votos

Consulta SQL en arcpy - seleccione donde función entre dos valores

Tengo que seleccionar las características entre dos valores en python con arcpy. Sin embargo, cada vez que intento ejecutar el código a continuación, devuelve el mensaje de error "no válido instrucción SQL se utilizan".

whereclause = """"X" BETWEEN {0} AND {1}""".format(
                                                  min(X)[0]-1000,
                                                  max(X)[0]+1000)
ap.FeatureClassToFeatureClass_conversion(SamledeMaalinger,ap.env.workspace,"SamledeMaalingerSort", whereclause)

El whereclause devuelve "X" ENTRE 555157.0723 Y 557157.0723 así que no es de la cadena que es el asunto.

La consulta SQL funciona si uso < y > en su lugar, pero el ENTRE, por alguna razón, no.

Así que ¿cuál es el problema? Hacer las consultas SQL en arcpy tienen limitaciones?

1voto

UnkwnTech Puntos 21942

Como ha comentado @AlexTereshnekov, el problema puede estar causado por tu elección de almacenamiento de datos espaciales.

Acabo de utilizar con éxito la expresión siguiente en una clase de característica de la base de datos geográfica de archivos:

OID BETWEEN 1 AND 100

pero en un shapefile esta expresión reportó que era un SQL inválido:

"FID" BETWEEN 1 AND 100

En mis pruebas he utilizado ArcGIS 10.2.2 para escritorio

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