Share via


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

In questo argomento sono illustrate le convenzioni da utilizzare quando si immettono i seguenti tipi di valori letterali in una condizione di ricerca:

  • Valori di testo

  • Valori numerici

  • Date

  • Valori logici

[!NOTA]

Le informazioni contenute in questo argomento derivano dalle regole relative a SQL-92 standard. In ogni database è tuttavia possibile implementare SQL in modo personalizzato. Le indicazioni fornite potrebbero quindi non essere valide per tutti i database. In caso di dubbi su come immettere i valori di ricerca per un particolare database, vedere la documentazione del database in uso.

Ricerche su valori di testo

Quando si immettono valori di tipo testo nelle condizioni di ricerca, è necessario tenere presente le seguenti indicazioni:

  • Virgolette   Delimitare i valori di tipo testo tra virgolette semplici, come nel seguente esempio per un cognome:

    'Smith'
    

    Se si immette una condizione di ricerca nel riquadro Criteri, è sufficiente specificare il valore di testo. Le virgolette verranno inserite automaticamente.

    [!NOTA]

    In alcuni database le parole tra virgolette singole vengono interpretate come valori letterali, mentre le parole tra virgolette doppie vengono interpretate come oggetti di database quali riferimenti a colonne o tabelle. Di conseguenza, anche se in Progettazione query e Progettazione viste è possibile accettare parole tra virgolette doppie, l'interpretazione potrebbe essere diversa da quella prevista.

  • Incorporamento di apostrofi   Se i dati da cercare contengono una virgoletta singola (un apostrofo), è possibile immettere due virgolette singole per indicare che la virgoletta singola deve essere interpretata come un valore letterale e non come delimitatore. La seguente condizione ricerca ad esempio il valore "Swann's Way":

    ='Swann''s Way'
    
  • Limiti di lunghezza   Quando si immettono stringhe lunghe non si deve superare la lunghezza massima delle istruzioni SQL per il database in uso.

  • Maiuscole e minuscole   È necessario seguire le regole per il database che si sta utilizzando. Il database in uso determina se le ricerche di elementi di testo distinguono fra maiuscole e minuscole. Alcuni database interpretano, ad esempio, l'operatore "=" come corrispondenza di maiuscole e minuscole, mentre altri consentono la ricerca di qualsiasi combinazione di caratteri maiuscoli e minuscoli.

    Se non si è certi dell'utilizzo delle maiuscole e delle minuscole nel database in uso, è possibile utilizzare le funzioni UPPER o LOWER nelle condizioni di ricerca per convertire i dati della ricerca, come mostrato nel seguente esempio:

    WHERE UPPER(lname) = 'SMITH'
    

Ricerche su valori numerici

Quando si immettono valori numerici nelle condizioni di ricerca, è necessario tenere presente le seguenti indicazioni:

  • Virgolette   Non racchiudere i numeri tra virgolette.

  • **Caratteri non numerici **  Non inserire 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 inserire simboli di raggruppamento di cifre (quale il separatore delle migliaia) o simboli di valuta.

  • Separatore decimale   Se si stanno immettendo numeri interi, è possibile inserire un separatore decimale, sia che il valore che si sta cercando sia un valore integer sia che si tratti di un numero reale.

  • Notazione scientifica   È possibile immettere numeri molto grandi o molto piccoli utilizzando la notazione scientifica, come nel seguente esempio:

    > 1.23456e-9
    

Ricerche su date

Il formato da utilizzare 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.

[!NOTA]

Se non si conosce il formato utilizzato dall'origine dati, digitare una data nella colonna Filtro del riquadro Criteri in un formato conosciuto. La maggior parte di queste voci verrà convertita automaticamente nel formato appropriato.

È possibile utilizzare i seguenti formati di data:

  • Specifico delle impostazioni locali   Il formato specificato per le date nella finestra di dialogo Proprietà impostazioni internazionali di Windows.

  • Specifico del database   Qualsiasi formato supportato dal database.

  • Data standard ANSI   Un formato che utilizza parentesi graffe, l'indicatore "d" per identificare la data e una stringa della data come nel seguente esempio:

    { d '1990-12-31' }
    
  • Data/ora standard ANSI   Analogo alla data standard ANSI, ma utilizza "ts" al posto di 'd' e aggiunge le ore, i minuti e i secondi alla data (utilizzando una notazione di 24 ore), come nel seguente esempio per 31 dicembre 1990:

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

    In generale, il formato di data standard ANSI viene utilizzato con i database che rappresentano le date con un tipo di date reali. Il formato datetime viene invece utilizzato con database che supportano un tipo di dati datetime.

Nella tabella riportata di seguito sono elencati i formati di data utilizzabili nei diversi riquadri di Progettazione query e Progettazione viste.

Riquadro

Formato data

Criteri

Specifico delle impostazioni locali? Specifico del database ?Standard ANSI

Le date immesse nel riquadro Criteri vengono convertite in un formato compatibile con il database nel riquadro SQL.

SQL

Specifico del database ?Standard ANSI

Risultati

Specifico delle impostazioni locali

Ricerche su valori logici

Il formato dei dati logici varia da database a database. Molto spesso, un valore False viene memorizzato come zero (0). Un valore True viene generalmente memorizzato come 1 e talvolta come -1. Quando si immettono valori di tipo testo nelle condizioni di ricerca, si consiglia di seguire le seguenti indicazioni:

  • Per cercare un valore False, utilizzare uno zero, come nel seguente esempio:

    SELECT * FROM authors
    WHERE contract = 0
    
  • Se non si è certi del formato da utilizzare quando si cerca un valore True, provare a utilizzare 1, come nel seguente esempio:

    SELECT * FROM authors
    WHERE contract = 1
    
  • In alternativa, è possibile ampliare l'ambito della ricerca cercando tutti i valori diversi da zero, come nel seguente esempio:

    SELECT * FROM authors
    WHERE contract <> 0