Convertir Texto a Números en SQLite

Tengo una base de datos sqlite con una tabla con la siguiente estructura LocationName Latitude Longitude, todo definido como varchar. Cómo puedo construir una declaración SQL para obtener todas las ubicaciones con un rango de latitud específico dado la latitud en decimal. ¿Hay alguna manera de convertir de varchar a valor decimal sobre la marcha? o tengo que pasar por las declaraciones de devolución y hacer la conversión manualmente

preguntado el 13 de enero de 13 a las 21:01

SQLite admite tipos distintos de varchar (texto) - sqlite.org/datatype3.html. ¿Por qué no almacenar los valores en columnas reales? -

Sería mucho más eficiente almacenar los valores como números reales en la base de datos. -

Me han dado la base de datos en ese formato que no puedo cambiar. Ojalá pueda :) -

1 Respuestas

Consulte "Expresiones CAST" en http://www.sqlite.org/lang_expr.html.

SELECT CAST('3.02' as decimal)
-- they aren't real decimals in sqlite, though. beware floats.

Respondido el 13 de enero de 13 a las 21:01

Oh, gracias, lo intentaré. ¿Qué sucede si la columna de latitud, por ejemplo, se define como N320515 . ¿hay alguna manera de hacer lo mismo? - user519274

hay substr para extraer subcadenas, y case..when..end para convertir 'N/S' a 1/-1. Obtendrá una expresión peluda, pero es posible. UPD: y asegúrese de probar en todos los hemisferios posibles :) - Antón Kovalenko

Gracias de nuevo, profundizaré más en cómo crear esa declaración sql. - user519274

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.