1 / 19

Module 8 Utilisation des Fonctions Intégrées

Module 8 Utilisation des Fonctions Intégrées. Vue d'ensemble du Module. Écriture des requêtes avec les Fonctions Intégrées Utilisation des Fonctions de Conversion Utilisation des Fonctions Logiques Utilisation des Fonctions de manipulation des valeurs NULLs.

talmai
Télécharger la présentation

Module 8 Utilisation des Fonctions Intégrées

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Module 8 Utilisation des Fonctions Intégrées

  2. Vue d'ensemble du Module • Écriture des requêtes avec les Fonctions Intégrées • Utilisation des Fonctions de Conversion • Utilisation des Fonctions Logiques • Utilisation des Fonctionsde manipulation des valeurs NULLs

  3. Cours1 : Écriture des requêtes avec les fonctionsIntégrées • Types de fonctions SQL Server 2012; • Fonctions Scalaires • Fonctionsd’agrégat • Fonctionsde classement

  4. Types de fonctions SQL Server 2012 • Les fonctions SQL Server 2012 peuventêtreclassées par catégorieselon les parametres de contribution et aussi le type de production :

  5. FonctionsScalaires • Date et fonctions de Temps • Fonctions mathématiques • Fonctions de conversion • Fonctions de métadonnées SELECT orderid, YEAR(orderdate) AS orderyear FROM Sales.Orders; SELECT ABS(-1.0), ABS(0.0),ABS(1.0); SELECT CAST(SYSDATETIME() AS date); SELECT DB_NAME() AS current_database;

  6. Fonctiond’agrégat (de groupe) • Opérentsur des enregistrementssources pour construire des groupesd’enregistrements • Résumentla contribution des enregistrements • Sans clause GROUP BY, tous les enregistrementssontarrangés comme un seulgroupe SELECT COUNT(*) AS numorderlines, SUM(qty*unitprice) AS totalsales FROM Sales.OrderDetails; numorderlines totalsales ------------- ---------- 2155 56500.91

  7. Fonctions de classement • Appliquées à un jeuourésultatd’unerequête • Permetd’inclure le classement des données du résultat SELECT TOP(5) productid, productname, unitprice, RANK() OVER(ORDER BY unitprice DESC) AS Classement_des_prix FROM Production.Products ORDER BY Classement_des_prix; productid productname unitprice rankbyprice --------- ------------- --------- ----------- 8 Product QDOMO 263.50 1 29 Product VJXYN 123.79 2 9 Product AOZBW 97.00 3 20 Product QHFFP 81.00 4 18 Product CKEDC 62.50 5

  8. Cours2 : Utilisation des fonctions de conversion • Conversion des Types de données; • Conversion avec CAST • Conversion avec CONVERT • Conversion des Strings avec PARSE • Conversion avec TRY_PARSE et TRY_CONVERT

  9. Conversion avec CAST • Convertit une valeur d'un type de données à un autre • Peut être utilisé dansles clauses SELECT et WHERE • Respecte le standard ANSI Syntaxe de CAST : Exemple d'ACTEURS : • Rend une erreur si les types de données sont incompatibles : CAST(<value> AS <datatype>) SELECT CAST(SYSDATETIME() AS date); --attempt to convert varcharto float SELECT CAST('test' AS float); Msg 8114, Level 16, State 5, Line 2 Error converting data type varchar to float.

  10. Pour éviterl’érreurUtiliser TRY_CAST SELECT CASE WHEN TRY_CAST('test' AS float) IS NULL THEN 'Castfailed' ELSE 'Castsucceeded' END AS Result; GO

  11. Conversion avec CONVERT • Convertitunevaleur d'un type de données à un autre • Peutêtreutilisédans les clause SELECT et WHERE • CONVERT estspécifiqueà SQL Server, n’est pas standard Exemple : SELECT CONVERT (<datatype>, <value>, <optional style no.>) SELECT CONVERT(CHAR(8), CURRENT_TIMESTAMP,112) AS ISO_style; SELECT TRY_CONVERT(CHAR(8), CURRENT_TIMESTAMP,112) AS ISO_style; ISO_style --------- 20120212 - SELECT CONVERT(datetime2, 'SQLServer',112) AS ISO_style; - SELECT TRY_CONVERT(datetime2, 'SQLServer',112) AS ISO_style;

  12. Conversion des Strings avec PARSE • TRY_PARSE et TRY_CONVERT: • Sont nouvelle sous SQL Server 2012 • Exemple PARSE • ExempleTRY_PARSE SELECT PARSE('02/12/2012' AS datetime2 USING 'en-US') AS parse_result; SELECT TRY_PARSE(‘SQLServer' AS datetime2 USING 'en-US') AS try_parse_result; try_parse_result ---------------- NULL

  13. Cours3 : Utilisation des Fonctionslogiques • Écriture des tests Logiques avec les Fonctions • Exécution des tests Conditionnelsavec IIF • Selectionner des champs avec CHOOSE

  14. Écriture des tests Logiques avec les Fonctions • ISNUMERIC évalue si une expression de contribution est un type de données numérique valide • Rend 1 quand la contribution évalue à n'importe quel type numérique valide, en incluant le FLOTTEUR et l'ARGENT • Retours 0 autrement SELECT ISNUMERIC('SQL') AS isnmumeric_result; isnmumeric_result ----------------- 0 SELECT ISNUMERIC(‘101.99') AS isnmumeric_result; isnmumeric_result ----------------- 1

  15. Exécution des Tests Conditionnelsavec IIF • IIF rapporteunedes deux valeurs, selonun test logique SELECT productid, unitprice, IIF(unitprice > 50, 'high','low') AS pricepoint FROM Production.Products;

  16. Choisir des champs d’unelisteavec CHOOSE • CHOOSE retourneun article d'une liste comme spécifié par une valeur d'index • Exemple de CHOOSE: SELECT CHOOSE (3, 'Beverages', 'Condiments', 'Confections') AS choose_result; choose_result ------------- Confections

  17. Cours4 : Utiliserdes Fonctions pour travailler avec les valeursNULLs • Conversion de NULL avec ISNULL • Utiliser COALESCE pour rapporter des valersNon-NULLs • UtiliserNULLIF pour retournerles NULLs

  18. Conversion de NULL avec ISNULL • ISNULL remplace NULL avec une valeur indiquée • Syntaxe : SELECT custid, city, ISNULL(region, 'région inconnue') AS region, country FROM Sales.Customers; custid city region country ----------- --------------- --------------- --------------- 7 Strasbourg N/A France 9 Marseille N/A France 32 Eugene OR USA 43 Walla Walla WA USA 45 San Francisco CA USA

  19. Utiliser COALESCE pour retourner des valeurs non-NULL • COALESCE retourne la première valeur non-nulledansuneliste • Exemple: • Résultats : SELECT custid, country, region, city, country + ',' + COALESCE(region, ' ') + ', ' + city as location FROM Sales.Customers; custid country region city location ------ ------- ------ ----------- ---------------------- 17 Germany NULL Aachen Germany, , Aachen 65 USA NM Albuquerque USA,NM, Albuquerque 55 USA AK Anchorage USA,AK, Anchorage 83 Denmark NULL Århus Denmark, , Århus

More Related