Condividi tramite


Regole per l'immissione di valori di ricerca (Visual Database Tools)

si applica a:SQL Server

In questo argomento vengono illustrate le convenzioni da usare quando si immettono i tipi di valori letterali seguenti per una condizione di ricerca:

  • Valori di testo

  • Valori numerici

  • Date

  • Valori logici

Annotazioni

Le informazioni contenute in questo argomento sono derivate dalle regole per SQL-92 standard. Tuttavia, ogni database può implementare SQL in modo autonomo. Pertanto, le linee guida fornite qui potrebbero non essere applicabili in ogni caso. Per domande su come immettere i valori di ricerca per un database specifico, vedere la documentazione relativa al database in uso.

Ricerca di valori di testo

Quando si immettono valori di testo nelle condizioni di ricerca, si applicano le linee guida seguenti:

  • Virgolette Racchiudere i valori di testo tra virgolette singole, come in questo esempio per un cognome:

    'Smith'  
    

    Se si immette una condizione di ricerca nel riquadro Criteri, è sufficiente digitare il valore di testo e il Progettazione Query e Progettazione Viste inserirà automaticamente le virgolette singole.

    Annotazioni

    In alcuni database, i termini tra virgolette singole vengono interpretati come valori letterali, mentre i termini tra virgolette doppie vengono interpretati come oggetti di database come riferimenti a colonne o tabelle. Pertanto, anche se la Progettazione query e viste può accettare termini tra virgolette doppie, potrebbe interpretarli diversamente da quanto ti aspetti.

  • Incorporamento di apostrofi Se i dati cercati contengono una virgoletta singola (apostrofo), è possibile immettere due virgolette singole per indicare che si intende la virgoletta singola come valore letterale e non come delimitatore. Ad esempio, la condizione seguente cerca il valore "Swann's Way:"

    ='Swann''s Way'  
    
  • Limiti di lunghezza Non superare la lunghezza massima dell'istruzione SQL per il database quando si immettono stringhe lunghe.

  • Distinzione tra maiuscole e minuscole Seguire le regole di distinzione tra maiuscole e minuscole per il database in uso. Il database in uso determina se le ricerche di testo fanno distinzione tra maiuscole e minuscole. Ad esempio, alcuni database interpretano l'operatore "=" per indicare una corrispondenza esatta con distinzione tra maiuscole e minuscole, ma altre consentono corrispondenze su qualsiasi combinazione di caratteri maiuscoli e minuscoli.

    Se non si è certi che il database usi una ricerca con distinzione tra maiuscole e minuscole, è possibile usare le funzioni UPPER o LOWER nella condizione di ricerca per convertire il caso dei dati di ricerca, come illustrato nell'esempio seguente:

    WHERE UPPER(lname) = 'SMITH'  
    

Ricerca di valori numerici

Quando si immettono valori numerici nelle condizioni di ricerca, si applicano le linee guida seguenti:

  • Virgolette Non racchiudere i numeri tra virgolette.

  • Caratteri non numerici Non includere caratteri non numerici tranne il separatore decimale (come definito nella finestra di dialogo Impostazioni internazionali del Pannello di controllo di Windows) e il segno negativo (-). Non includere simboli di raggruppamento di cifre (ad esempio una virgola tra migliaia) o simboli di valuta.

  • Segni decimali Se si immettono numeri interi, è possibile includere un segno decimale, indipendentemente dal fatto che il valore che si sta cercando sia un numero intero o un numero reale.

  • Notazione scientifica È possibile immettere numeri molto grandi o molto piccoli usando la notazione scientifica, come in questo esempio:

    > 1.23456e-9  
    

Ricerca per date

Il formato utilizzato per immettere le date dipende dal database in uso e dal riquadro di Progettazione query e Progettazione viste in cui si sta immettendo la data.

Annotazioni

Se non si conosce il formato usato dall'origine dati, digitare una data nella colonna filtro del riquadro Criteri in qualsiasi formato familiare. Il progettista convertirà la maggior parte di tali voci nel formato appropriato.

Il Progettista di query e viste può funzionare con i seguenti formati di data:

  • Impostazioni locali specifiche Formato specificato per le date nella finestra di dialogo Proprietà impostazioni internazionali di Windows.

  • Specifico del database Qualsiasi formato riconosciuto dal database.

  • Data standard ANSI Formato che usa parentesi graffe, il marcatore 'd' per designare la data e una stringa di data, come nell'esempio seguente:

    { d '1990-12-31' }  
    
  • ANSI standard datetime Analogamente alla data standard ANSI, ma usa 'ts' invece di 'd' e aggiunge ore, minuti e secondi alla data (usando un orologio di 24 ore), come in questo esempio per il 31 dicembre 1990:

    { ts '1990-12-31 00:00:00' }  
    

    In generale, il formato di data standard ANSI viene usato con i database che rappresentano le date usando un tipo di dati data effettivo. Al contrario, il formato datetime viene usato con i database che supportano un tipo di dati datetime.

Nella tabella seguente è riepilogato il formato di data che puoi utilizzare nei diversi riquadri di Progettazione query e Progettazione viste.

Pannello Formato data
Criteri Standard ANSI specifico delle impostazioni locali e dei database

Le date immesse nel riquadro Criteri vengono convertite in un formato compatibile con il database nel riquadro SQL.
SQL Standard ANSI specifico per database
Risultati Specifico del contesto locale

Ricerca di valori logici

Il formato dei dati logici varia da database a database. Molto frequentemente, un valore False viene archiviato come zero (0). Il valore True viene archiviato più frequentemente come 1 e occasionalmente come -1. Quando si immettono valori logici nelle condizioni di ricerca, si applicano le linee guida seguenti:

  • Per cercare un valore False, usare uno zero, come nell'esempio seguente:

    SELECT * FROM authors  
    WHERE contract = 0  
    
  • Se non si è certi del formato da usare durante la ricerca di un valore True, provare a usare 1, come nell'esempio seguente:

    SELECT * FROM authors  
    WHERE contract = 1  
    
  • In alternativa, è possibile ampliare l'ambito della ricerca cercando qualsiasi valore diverso da zero, come nell'esempio seguente:

    SELECT * FROM authors  
    WHERE contract <> 0  
    

Vedere anche

specificare i criteri di ricerca (Visual Database Tools)