Intervalos de Valores
Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el operador Between cuya sintaxis es:
campo [Not] Between valor1 And valor2 (la condición Not es opcional)
En este caso la consulta devolvería los registros que contengan en "campo" un valor incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condición Not devolverá aquellos valores no incluidos en el intervalo.
SELECT * FROM Pedidos WHERE CodPostal Between 28000 And 28999;
(Devuelve los pedidos realizados en la provincia de Madrid)
SELECT IIf(CodPostal Between 28000 And 28999, 'Provincial', 'Nacional') FROM Editores;
(Devuelve el valor 'Provincial' si el código postal se encuentra en el intervalo,
'Nacional' en caso contrario)
El Operador Like
Se utiliza para comparar una expresión de cadena con un modelo en una expresión SQL. Su sintaxis es:
expresión Like modelo
En donde expresión es una cadena modelo o campo contra el que se compara expresión. Se puede utilizar el operador Like para encontrar valores en los campos que coincidan con el modelo especificado. Por modelo puede especificar un valor completo (Ana María), o se pueden utilizar caracteres comodín como los reconocidos por el sistema operativo para encontrar un rango de valores (Like An*). El operador Like se puede utilizar en una expresión para comparar un valor de un campo con una expresión de cadena. Por ejemplo, si introduce Like C* en una consulta SQL, la consulta devuelve todos los valores de campo que comiencen por la letra C. En una consulta con parámetros, puede hacer que el usuario escriba el modelo que se va a utilizar. El ejemplo siguiente devuelve los datos que comienzan con la letra P seguido de cualquier letra entre A y F y de tres dígitos:
Like 'P[A-F]###'
Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a la D seguidas de cualquier cadena.
Like '[A-D]*'
En la tabla siguiente se muestra cómo utilizar el operador Like para comprobar
expresiones con diferentes modelos.
| Tipo de coincidenciaModelo PlanteadoCoincide | No coincide |
| Varios caracteres'a*a''aa', 'aBa', 'aBBBa' | 'aBC' |
| Carácter especial 'a[*]a''a*a' | 'aaa' |
| Varios caracteres'ab*''abcdefg', 'abc' | 'cab', 'aab' |
| Un solo carácter'a?a''aaa', 'a3a', 'aBa' | 'aBBBa' |
| Un solo dígito'a#a''a0a', 'a1a', 'a2a' | 'aaa', 'a10a' |
| Rango de caracteres'[a-z]''f', 'p', 'j' | '2', '&' |
| Fuera de un rango'[!a-z]''9', '&', '%' | 'b', 'a' |
| Distinto de un dígito'[!0-9]''A', 'a', '&', '~' | '0', '1', '9' |
| Combinada'a[!b-m]#''An9', 'az0', 'a99' | 'abc', 'aj0' |
El Operador In
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los en una lista. Su sintaxis es:
expresión [Not] In(valor1, valor2, . . .) SELECT * FROM Pedidos WHERE Provincia In ('Madrid', 'Barcelona', 'Sevilla');
Usuarios que han visto este tema también han visto...
- Consultas con Parámetros en SQL
- Tipos de datos en SQL
- Optimizar consultas SQL
- FULL-TEXT Search en SQL Server
- Omitir los Permisos de Ejecución en SQL
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.