Règles d’entrée de valeurs de recherche (Visual Database Tools)
Cette rubrique décrit les conventions que vous devez utiliser lors de l’entrée des types de valeurs littérales suivantes pour une condition de recherche :
Valeurs de texte
Valeurs numériques
Dates
Valeurs logiques
Note
Les informations contenues dans cette rubrique sont dérivées des règles pour SQL-92 standard. Toutefois, chaque base de données peut implémenter SQL de sa propre manière. Par conséquent, les directives fournies ici peuvent ne pas s’appliquer dans tous les cas. Si vous avez des questions sur la façon d’entrer des valeurs de recherche pour une base de données particulière, reportez-vous à la documentation de la base de données que vous utilisez.
Recherche de valeurs textuelles
Les instructions suivantes s’appliquent lorsque vous entrez des valeurs de texte dans des conditions de recherche :
guillemets Placer des valeurs de texte entre guillemets simples, comme dans cet exemple pour un nom de famille :
'Smith'
Si vous entrez une condition de recherche dans le volet critères , vous pouvez simplement taper la valeur de texte et le Concepteur de requêtes et de vues place automatiquement des guillemets simples autour de celui-ci.
Note
Dans certaines bases de données, les termes entre guillemets simples sont interprétés comme des valeurs littérales, tandis que les termes entre guillemets doubles sont interprétés comme des objets de base de données tels que des références de colonne ou de table. Par conséquent, même si le Concepteur de requêtes et de vues peut accepter des termes entre guillemets doubles, il peut les interpréter différemment de ce que vous attendez.
apostrophes incorporées Si les données que vous recherchez contiennent un guillemet unique (apostrophe), vous pouvez entrer deux guillemets simples pour indiquer que vous signifiez que le guillemet unique est une valeur littérale et non un délimiteur. Par exemple, la condition suivante recherche la valeur « Swann’s Way : »
='Swann''s Way'
Limites de longueur Ne dépassez pas la longueur maximale de l’instruction SQL pour votre base de données lors de l’entrée de chaînes longues.
Sensibilité à la casse Suivez les règles de sensibilité à la casse pour la base de données que vous utilisez. La base de données que vous utilisez détermine si les recherches de texte sont sensibles à la casse. Par exemple, certaines bases de données interprètent l’opérateur « = » comme une correspondance exacte sensible à la casse, mais d’autres autorisent les correspondances sur n’importe quelle combinaison de caractères majuscules et minuscules.
Si vous ne savez pas si la base de données utilise une recherche respectant la casse, vous pouvez utiliser les fonctions UPPER ou LOWER dans la condition de recherche pour convertir la casse des données de recherche, comme illustré dans l’exemple suivant :
WHERE UPPER(lname) = 'SMITH'
Recherche sur les valeurs numériques
Les instructions suivantes s’appliquent lorsque vous entrez des valeurs numériques dans des conditions de recherche :
guillemets Ne placez pas les nombres entre guillemets.
caractères non numériques N’incluez pas de caractères non numériques, à l’exception du séparateur décimal (tel que défini dans la boîte de dialogue paramètres régionaux du Panneau de configuration Windows) et du signe négatif (-). N’incluez pas de symboles de regroupement de chiffres (par exemple, une virgule entre des milliers) ou des symboles monétaires.
Les séparateurs décimaux Si vous entrez des nombres entiers, vous pouvez inclure un séparateur décimal, que la valeur recherchée soit un entier ou un nombre réel.
notation scientifique Vous pouvez entrer de très grands ou très petits nombres à l’aide de la notation scientifique, comme dans cet exemple :
> 1.23456e-9
Recherche sur des dates
Le format que vous utilisez pour entrer des dates dépend de la base de données que vous utilisez et du volet du Concepteur de requêtes et de vues dans lequel vous entrez la date.
Note
Si vous ne savez pas quel format votre source de données utilise, tapez une date dans la colonne de filtre du volet Critères dans un format familier. Le concepteur convertit la plupart de ces entrées dans le format approprié.
Le Concepteur de requêtes et de vues peut utiliser les formats de date suivants :
le format spécifié pour les dates dans la boîte de dialogue des propriétés des paramètres régionaux de Windows .
tout format spécifique à la base de données compris par la base de données.
date standard ANSI Un format qui utilise des accolades, le marqueur 'd' pour désigner la date et une chaîne de date, comme dans l’exemple suivant :
{ d '1990-12-31' }
Datetime standard ANSI similiare à la date standard ANSI, mais utilise « ts » au lieu de « d » et ajoute des heures, des minutes et des secondes à la date (sur une horloge de 24 heures), comme dans cet exemple pour le 31 décembre 1990 :
{ ts '1990-12-31 00:00:00' }
En règle générale, le format de date standard ANSI est utilisé avec des bases de données qui représentent des dates à l’aide d’un type de données date vrai. En revanche, le format datetime est utilisé avec les bases de données qui prennent en charge un type de données datetime.
Le tableau suivant récapitule le format de date que vous pouvez utiliser dans différents volets du Concepteur de requêtes et de vues.
Recherche sur les valeurs logiques
Le format des données logiques varie d’une base de données à une base de données. Très fréquemment, la valeur False est stockée sous la forme zéro (0). La valeur True est la plus fréquemment stockée sous la forme 1 et parfois sous la forme -1. Les instructions suivantes s’appliquent lorsque vous entrez des valeurs logiques dans des conditions de recherche :
Pour rechercher une valeur false, utilisez un zéro, comme dans l’exemple suivant :
SELECT * FROM authors WHERE contract = 0
Si vous ne savez pas quel format utiliser lors de la recherche d’une valeur True, essayez d’utiliser 1, comme dans l’exemple suivant :
SELECT * FROM authors WHERE contract = 1
Vous pouvez également élargir l’étendue de la recherche en recherchant une valeur différente de zéro, comme dans l’exemple suivant :
SELECT * FROM authors WHERE contract <> 0