06/11/2004, 04:46
|
| Usuario no validado | | Fecha de Ingreso: abril-2004
Mensajes: 111
Antigüedad: 20 años, 7 meses Puntos: 0 | |
Hola
1.-SELECT * FROM TABLA where nroom LIKE'%$letter%'
en esta sentencia lo que hace es devolver todos los registros que:
empiecen por la letra indicada
contengan la letra indicada o
acabe por la letra indicada
2.-SELECT * FROM TABLA where nroom LIKE'%$letter'
en esta otra sentencia lo que hace es devolver todos los registros que:
empiecen por la letra indicada
contengan la letra indicada
3.-SELECT * FROM TABLA where nroom LIKE'$letter%'
y en esta otra sentencia lo que devolveria sería lo que tu quieres, te devuelve los registros que empiecen por la letra indicada.
El % es un comodin de cadena por tanto si lo pones al principio y al final (primera sentencia que nos comentas) significa que puede tener o NO letras por delante de la que querias que te devolviera y por detras, si la pones solo al principio(segunda sentencia) significa que puede tener o NO letras delante de la que querias devolver.
Por eso la correcta para lo que tu quieres es la ultima(la tercera sentencia), como bien dices por que le dices que te devuelva los registros que empiecen por esa letra y el % digamos que sirve para que te saque todas las que empiecen por esa letra, pero tienen mas caracteres despues, ya que si pones SELECT * FROM TABLA WHERE nroom LIKE'$letter' te sacaria solo si tuvieras un registro que fuera $letter, osea, si por ejemplo $letter=e te devolveria los registros que SOLO fueran una "e", si tuvieras un registro que fuera evolution no te lo devolvería.
Espero haberte ayudado aunque igual me he enrollado un poco, pero creo te sirva de respuesta
Un saludo |