Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Uso de 'comillas simples' en condición WHERE

Estas en el tema de Uso de 'comillas simples' en condición WHERE en el foro de Mysql en Foros del Web. Ahí va una fácil (creo) ;) Cuando hago un SELECT con condición WHERE, siempre me he preguntado si se debe usar las comillas cuando el ...
  #1 (permalink)  
Antiguo 29/01/2013, 10:19
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Uso de 'comillas simples' en condición WHERE

Ahí va una fácil (creo) ;)

Cuando hago un SELECT con condición WHERE, siempre me he preguntado si se debe usar las comillas cuando el campo es INT (númerico).

En el caso de CHAR o VARCHAR no hay duda que hay que usar comillas simples pero si es númerico...

He comprobado que en ambos casos va bien:

... WHERE minumero=1
... WHERE minumero='1'

pero seguro que una es mejor que otra, no?
  #2 (permalink)  
Antiguo 29/01/2013, 10:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Uso de 'comillas simples' en condición WHERE

SI: La que corresponde.
Los apóstrofes (') van únicamente en el caso de ser cadenas de texto, o para fechas u horas. Nada más.
Cuando las usas entre una columna numérica y un valor numérico, obliga a MySQL a realizar una conversión implícita, que le hace perder performance a la consulta.
En consultas breves o con pocos registros esta pédrida es imperceptible,pero cuando la cantidad de registros es grande, empieza a notarse.
Además, el meter un parámetro con apóstrofes oculta defectos de programación si, por ejemplo, la variable que carga ese parámetro llega vacía y la consulta no devuelve datos.
Eso sucedería si en lugar de
Código MySQL:
Ver original
  1. WHERE minumero='1'
llega
Código MySQL:
Ver original
  1. WHERE minumero=''
Ese error es indetectable.
Peri si en cambio llega
Código MySQL:
Ver original
  1. WHERE minumero=
se genera un error sintáctico instantaneamente.

¿se entiende?

No uses apostrofos en los números.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/01/2013, 14:35
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: Uso de 'comillas simples' en condición WHERE

Claro como el agua!!!

Etiquetas: comillas, condición, select, simples
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:59.