codenautas / txt-to-sql

Tools for convert text data to SQL sentences
MIT License
2 stars 4 forks source link

Detectar numeric cuando el separador decimal es coma #41

Open emilioplatzer opened 6 years ago

emilioplatzer commented 6 years ago

El detector debría identificar "spanish numbers" o sea números tipo \d+,\d* y si no hay otros numeric con punto decimal y hay "spanish numbers" los "spanish numbers" deben considerarse todos numeric.

Agrego un caso de prueba

diegoefe commented 6 years ago
  1. Cuando decís "... y si no hay otros numeric con punto decimal", te referís a todo el input, incluyendo los otros posibles tipos numéricos de otras columnas?

  2. La denominación "spanish numbers" la estás utilizando para sugerir que agregue otro tipo antes que typeName:'numeric' que también resuelva a numeric p.e. en postgreSQL? (en lugar de ampliar la función isNumeric() y utilizar ese mismo "type")

emilioplatzer commented 6 years ago
  1. sí, esto podría traer falsos casos. Creo que lo mejor es agregar un input "punto decimal" que por defecto sea "autodetectar" donde se pueda poner el punto, la coma o lo que sea. Si está especificiado inicialmente se usa ese, si no se autodetecta.
  2. Sí, sugiero otro tipo para la etapa de detectar. Podemos suponer sin ser restrictivo, que todos los números van a tener el mismo punto decimal (punto o coma). Si se encuentran 'numeric' de ambos tipos (con punto y con coma) quizás se pueda emitir un warning para avisar al usuario, pero eso se puede dejar para después. Si hay de un solo tipo se usa ese como el tipo numérico, si hay de dos tipos podríamos elegir el que aparece más veces, o el primero que se encuentre o el separados por punto, elegí el más fácil, después con el uso vemos qué es mejor.