Compartir a través de


Reglas para escribir valores de búsqueda (Visual Database Tools)

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;