La plupart des nouvelles releases de DB2 UDB for iSeries incluent des améliorations progressives de SQL, comme de nouveaux types de données et de nouvelles fonctions intégrées. La V5R4 n’est pas différente à cet égard et présente de nouvelles fonctions intégrées pour le cryptage Triple DES, le traitement des dates et les fonctions d’échantillonnage. Par Kent Milligan - Dossier publié en Mai 2006
Les fonctions de SQL V5R4 dont il est question ici exigent le SQE (SQL Query Engine). Par conséquent, si votre environnement ou votre requête SQL contient un attribut non reconnu par SQE et si vous essayez d’utiliser l’une de ces nouvelles fonctions SQL, DB2 UDB signalera une erreur.
Voici quelques-uns des facteurs qui empêchent SQE d’honorer une requête SQL :
• Utilisation de
la fonction UPPER , LOWER ou TRANSLATE
• Séquence de tri en langue nationale
• UDTF (user-defined table function)
• Références de fichier logique sur
la clause FROM
• Fichiers logiques select/omit définis sur la table sousjacente
Pour plus de détails sur le support SQE, visitez www.ibm.com/iseries/db2/sqe.html.
En ordonnant les résultats d’une requête, vous aimeriez parfois appliquer un classement qui mette en évidence un autre attribut (par exemple, fournir une liste de vendeurs en ordre alphabétique, plus leur classement d’après le chiffre d’affaires total). La figure 1 montre un exemple de requête mettant en action cette syntaxe.
La clause ORDER BY classe la liste des joueurs de baseball en ordre alphabétique, pour trouver facilement un joueur.
L’expression OLAP Rank() fournit un classement secondaire lié à l’instruction SELECT en utilisant le nouveau mot-clé OVER. Ce classement secondaire (c’est-à-dire, OVER(ORDER BY batting_avg DESC)) génère les critères de classement pour l’ensemble des résultats.
Dans ce cas, le classement moyen de batting pour chaque joueur est inclus dans le résultat final et donc les joueurs sont classés d’après cette moyenne, en ordre décroissant. Ce classement permet d’identifier facilement les principaux marqueurs de la liste, comme le montre la sortie de requête de la figure 2. Voir Club Abonnés
La valeur soumise au classement n’est pas forcément limitée à une seule colonne. Le ORDER BY spécifié dans
la clause OVER accepte toutes les possibilités d’une clause ORDER BY normale (expressions, colonnes multiples, par exemple). Il existe une seconde expression de classement appelée Dense_Rank. Rank et Dense_Ranke se comportent presque à l’identique sauf quand les valeurs classées contiennent des doublons.
En examinant de près les résultats de la figure 2, on voit que deux des marqueurs les plus faibles (Perez et Foster) avaient en fait la même moyenne de batting et donc partageaient le même rang. Dans ce cas, l’expression Rank a provoqué un vide dans le classement en sautant de 6 à 8, à cause de l’égalité à la sixième place. Si vous exécutez à nouveau la même requête avec l’expression Dense_Rank, vous verrez dans la sortie de la figure 3 qu’il n’y a pas de vide dans le classement. Foster et Perez partagent le sixième rang et le rang de Concepcion remonte en position 7.
Téléchargez cette ressource
Guide de technologie 5G pour l’entreprise
Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre 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.