Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
En este artículo se describen las convenciones que debe usar al escribir los siguientes tipos de valores literales para una condición de búsqueda:
- Valores de texto
- Valores numéricos
- Fechas
- Valores lógicos
Nota:
La información de este artículo se deriva de las reglas de SQL-92 estándar. Sin embargo, cada base de datos puede implementar SQL a su forma. Por tanto, estas instrucciones podrían no ser válidas en algunos casos. Si tiene preguntas sobre cómo escribir valores de búsqueda para una base de datos determinada, consulte la documentación de la base de datos que está usando.
Buscar valores de texto
Las siguientes directrices se aplican al escribir valores de texto en las condiciones de búsqueda:
Comillas Escriba los valores de texto entre comillas sencillas, como en el siguiente ejemplo de apellido:
'Smith'Si estás escribiendo una condición de búsqueda en el Panel de Criterios (Visual Database Tools), simplemente puedes escribir el valor de texto y el "Diseñador de consultas y vistas" coloca automáticamente comillas simples alrededor del mismo.
Nota:
En algunas bases de datos, los términos entre comillas sencillas se interpretan como valores literales, mientras que los términos entre comillas dobles se interpretan como objetos de base de datos, como las referencias a tablas o columnas. Por tanto, aunque el Diseñador de consultas y vistas puede aceptar términos entre comillas dobles, se podrían interpretar de una forma distinta de la esperada.
Inserción de comillas simples Si los datos que busca contienen una comilla simple, puede escribir dos comillas simples para indicar que la comilla simple es un valor literal y no un delimitador. Por ejemplo, la siguiente condición busca el valor "Swann's Way":
='Swann''s Way'Límites de longitud No supere la longitud máxima de la instrucción SQL de la base de datos al escribir cadenas largas.
Distinción entre mayúsculas y minúsculas Siga las reglas de sensibilidad respecto a mayúsculas y minúsculas de la base de datos que usa. La base de datos que usa determina si las búsquedas de texto distinguen mayúsculas de minúsculas. Por ejemplo, algunas bases de datos interpretan el operador "=" para indicar una coincidencia exacta con distinción entre mayúsculas y minúsculas, pero otras permiten coincidencias en cualquier combinación de caracteres en mayúsculas y minúsculas.
Si no está seguro de si la base de datos usa una búsqueda que distingue mayúsculas de minúsculas, puede usar las funciones UPPER o LOWER en la condición de búsqueda para convertir el caso de los datos de búsqueda, como se muestra en el ejemplo siguiente:
WHERE UPPER(lname) = 'SMITH'
Buscar en valores numéricos
Las siguientes directrices se aplican al escribir valores numéricos en las condiciones de búsqueda:
Comillas
No incluya números entre comillas.
Caracteres no numéricos
No incluya caracteres no numéricos excepto el separador decimal (como se define en el cuadro de diálogo Configuración regional del Panel de control de Windows) y el signo negativo (-). No incluya símbolos de agrupación de dígitos (como una coma entre miles) o símbolos de moneda.
Marcas decimales
Si escribe números enteros, puede incluir una marca decimal, si el valor que está buscando es un entero o un número real.
Notación científica
Puede escribir números muy grandes o muy pequeños mediante notación científica, como en este ejemplo:
> 1.23456e-9
Buscar en fechas
El formato que use para escribir fechas depende de la base de datos que esté utilizando y en qué panel del Diseñador de consultas y vistas esté introduciendo la fecha.
Nota:
Si no sabe qué formato utiliza el origen de datos, escriba una fecha en la columna Filtro del panel Criterios en cualquier formato. El diseñador convierte la mayoría de estas entradas en el formato adecuado.
El Diseñador de consultas y vistas permite trabajar con los siguientes formatos de fecha:
Dependiente del idioma y la región
Formato especificado para fechas en el cuadro de diálogo Propiedades de configuración regional de Windows .
Específico de la base de datos
Cualquier formato comprendido por la base de datos.
Fecha estándar de ANSI
Formato que utiliza llaves, el marcador 'd' para designar la fecha, y una cadena de fecha, como en el siguiente ejemplo:
{ d '1990-12-31' }FECHA Y HORA ESTÁNDAR ANSI
De forma similar a la fecha estándar ANSI, pero usa "ts" en lugar de "d" y agrega horas, minutos y segundos a la fecha (con un reloj de 24 horas), como en este ejemplo para el 31 de diciembre de 1990:
{ ts '1990-12-31 00:00:00' }En general, las bases de datos que representan las fechas mediante un tipo de datos de fecha real utilizan el formato de fecha estándar ANSI. En cambio, las bases de datos que admiten un tipo de datos datetime utilizan el formato de fecha y hora.
En la tabla siguiente se resumen los formatos de fecha que se pueden utilizar en los distintos paneles del Diseñador de consultas y vistas.
| Panel | Formato de fecha |
|---|---|
| Criterios | Específico de la configuración regional Específico de la base de datos Estándar ANSI Las fechas especificadas en el panel Criterios (Visual Database Tools) se convierten en un formato compatible con la base de datos en el panel SQL. |
| SQL | Específico de la base de datos Estándar ANSI |
| Resultados | Específico de configuración regional |
Buscar en valores lógicos
El formato de los datos lógicos varía de una base de datos a otra. Los valores False suelen almacenarse como cero (0). Un valor True se suele almacenar como 1 y, de vez en cuando, como -1. Las siguientes directrices se aplican al escribir valores lógicos en las condiciones de búsqueda:
Para buscar un valor False, utilice un cero, como se indica en el siguiente ejemplo:
SELECT * FROM authors WHERE contract = 0;Si no está seguro de qué formato usar al buscar un valor True, pruebe a usar 1, como en el ejemplo siguiente:
SELECT * FROM authors WHERE contract = 1;Como alternativa, puede ampliar el ámbito de la búsqueda a cualquier valor distinto de cero, como se indica en el siguiente ejemplo:
SELECT * FROM authors WHERE contract <> 0;