Thursday, October 12, 2006

cuidado con las comas en comandos SQL

Ayer tuvimos un pequeño bug con un codigo mas o menos asi:

select field1, field2, field3
field4, field5
from SomeTable
where field1 = 'someValue'

pueden ver el bug?

el comando se ejecuta sin errores, pero el resultado podria no ser el deseado

El problema es que le falta una coma entre field3 y field4, entonces es como decir:

field1, field2, field3 as field4, field5

Lo que, como se podran imaginar, uno espera ciertos datos (y cierto tipo de datos) en ese campo pero recibe algo totalmente diferente y aparte que hay un campo que no sale en el resultado

La sintaxis yo creo que es estandar Ansi 92 SQL, asi que el problema lo podrian tener usando MSSQL, MySQL, Oracle, etc (en nuestro caso el codigo corrio bien en MySQL pero nos salio el error corriendo el mismo codigo contra Oracle porque ahi teniamos diferentes datos que hicieron que saliera a la vista)

No comments: