2010-01-15 12 views
20

Estoy seguro de que esto es súper fácil, pero parece que no puede resolverlo ... Necesito seleccionar todos los títulos de mi base de datos donde comienza el título con A o B, o C, etc. esto es lo que he probado hasta ahora:php select from mysql donde el título comienza con A (y A solo)

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A' 

pero no devuelve nada .. Podría alguien ayudarme con esto?

Saludos

+0

también me olvidó preguntar cómo hacerlo si el el título comienza con un número ... – SoulieBaby

+0

¿Y cómo hacer esto con PDO? –

Respuesta

47

Para los títulos a partir de 'A' utilizar un % después de la A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

Para los títulos con la letra 'A' en él, utilizar % a ambos lados de A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A%' 

Para títulos que terminan en la letra 'A', use % antes del A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A' 

Básicamente % es un comodín. Le dice a MySQL que cualquier cosa puede estar en la ubicación.

Para tener números de la primera letra, echa un vistazo a Mark's answer.

+0

Creo que se supone que el segundo ejemplo termina en ''% A%'' – catsby

+0

Sí, eso sería correcto. Fijo. –

+0

Muchas gracias, ¿también olvidé preguntar cómo hacerlo si el título comienza con un número? – SoulieBaby

1

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'

% dice "nada", por lo que es "A" entonces cualquier cosa. Solo funciona con el operador de comparación LIKE.

2

intento:

SELECT * FROM weblinks WHERE catid = 4 AND ((title like 'A%') OR (title like 'B%')) 

así sucesivamente y así sucesivamente

6

Los comodines para LIKE son % y _, donde% coincide 0 o más personajes y _ coincide exactamente con un personaje.

6

Las respuestas existentes son correctas para comenzar con A:

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

Por principio con cualquier número puede utilizar el operador REGEXP:

SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]' 
+1

Ven a robarme la respuesta aceptada, ¿eh? (Just Kidding) Agregó un enlace a su respuesta. –

+0

gracias chicos muy apreciados :) – SoulieBaby

+2

@Soulie: probablemente deberías aceptar la respuesta de Chacha ya que cambiaste la pregunta después de que él ya la había respondido correctamente. La próxima vez, si realiza un cambio sustancial en una pregunta, comience una nueva pregunta en lugar de cambiar una existente. –

Cuestiones relacionadas