> Tech > Elargir l’horizon

Elargir l’horizon

Tech - Par Renaud ROSSET - Publié le 07 juin 2011
email


Outre les comparaisons de base -- égal à, différent de, supérieur à, et inférieur à -- DB2 for i SQL propose six autres opérateurs de comparaison : In, Between, Like, Distinct, Is Null et Exists.In est probablement le plus utile des six. Une comparaison In est basée

sur une liste de valeurs de comparaison. Elle peut être codée en dur, comme ceci :

            Select * from Customer

                        Where CusState

                        in (‘CA’, ‘NV’, ‘AZ’, ‘NM’)

Si la colonne CusState contient l’une des valeurs de la liste, les données du client seront incluses dans le jeu de résultats. Vous constaterez que les prédicats contenant In sont encore plus utiles accompagnés d’une instruction Select pour formuler la liste des valeurs de comparaison. Par exemple, l’instruction suivante produit la même liste de codes d’État (CA, NV, AZ, et NM).

Select TrState from Territory

            Where TrTerr = 1

En utilisant l’instruction de sélection de territoire comme un sub-select, vous pouvez construire dynamiquement une liste pour la comparaison In. Le code ci-après, comme l’exemple ci-dessus, sélectionne tous les clients de Californie, Nevada, Arizona, et Nouveau-Mexique. Mais, contrairement à la solution codée en dur, ce code inclura automatiquement d’autres États si les définitions de territoire changent. Il est donc facile de l’adapter pour d’autres territoires ou d’autres critères de sélection client.

Select CusNumb from Customer

            Where (CusState in

            (Select TrState from Territory

            Where TrTerr = 1))

Bien entendu, les critères de création de la liste de comparaison peuvent être bien plus complexes que ceux qui sont illustrés ici. Les prédicats qui incluent des comparaisons In sont très pratiques pour examiner et modifier des données de tests, mais cet opérateur aura aussi toute sa place dans votre code de production.

Une comparaison Between est plus facile à comprendre avec des valeurs numériques. Imaginez que, en plus de sélectionner des clients du territoire 001, vous vouliez sélectionner, pour ces mêmes clients, des valeurs de commande supérieures à 100 dollars mais inférieures à 1000 dollars. Vous pourriez bien sûr utiliser >= et <= comme dans l’exemple précédent qui spécifie un intervalle de dates, mais l’opérateur Between est généralement plus simple à coder et à comprendre.

Select CusNumb, OHNumb from Customer, OrdHead
 

            Where CusNumb = OHCust

            and (CusState in

                        (Select TrState from Territory

                        Where TrTerr = 1)

            and (OHAmt between 100.00 and 1000.00))

            Order by CusNumb, OHNumb

Une comparaison Like permet de développer des prédicats basés sur des valeurs partielles, avec ou sans jokers. Par exemple, Like permet de trouver tous les produits dont les descriptions incluent le mot “promotion,” ainsi que ceux dont les noms commencent par un certain jeu de caractères (“prm” dans cet exemple).

Select Prdnumb from Product

            Where (PrdDesc Like ‘%Promotion%’

            or PrdDesc Like ‘%promotion%’

            or PrdName Like ‘prm%’)

Dans une comparaison utilisant Like, vous pouvez utiliser un signe pour cent (%) pour spécifier un joker, comme dans l’exemple. Ce signe représente zéro, ou plus, caractères ne faisant pas partie de la comparaison. Si un signe pour cent précède et suit les mots “Promotion” et “promotion,” toute description qui les contient sera sélectionnée. Pour les noms de produits, il n’y a qu’un signe pour cent, donc seuls les noms commençant par les lettres “prm” seront sélectionnés. Vous pouvez aussi inclure un trait de soulignement (_) dans votre expression pour représenter un caractère joker unique.
In, Between, et Like étendent les prédicats au-delà de simples comparaisons. Ajoutez donc ces opérateurs essentiels à votre panoplie SQL : vos instructions SQL en seront plus simples et plus puissantes.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Le livre blanc "The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 07 juin 2011

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT