Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours bases de données » Cours SQL » Exercices SQL »

Articles similaires

  • Exercice requete SQL corrigé (Tour de France)
  • Exercice Langage SQL : SELECT imbriqués et Prédicats (IN, ANY, ALL, EXISTS)
  • Exercice Access : gestion des salariés
  • Exercice Langage SQL : Les prédicats NULL, IN, LIKE, BETWEEN
  • Exercice Langage SQL : BD Cinéma (Partie1)
  • Tutoriel Excel : comment convertir un nombre ou un texte en date
  • Exercice récapitulatif en Langage SQL
  • Exercice Access 2003 : gestion des cours avec requêtes
  • Exercice langage SQL : BD Cinéma (Partie 3)
  • Ms Project : Afficher les coûts de projet par mois
  • Exercices PHP : Connexion à une BD
  • Apprendre le SEO : les fondamentaux du référencement en 2023

Documents similaires

  • Cours Ajax Control Toolkit

  • Comment créer un rétroplanning pour un festival?

  • Exercice de bureautique pour débutant

  • Application Excel convertisseur monétaire

  • Exercice bureautique pour réviser ensemble

  • Cours Implémenter ETW en .NET

  • La finance solidaire support de cours

  • Introduction au Visual Basic cours générale

Exercice Langage SQL : Convertir une date à partir de CONVERT et DATEPART

Rédigé par GC Team, Publié le 14 Décembre 2011, Mise à jour le Mardi, 30 Novembre 1999 00:00
Participez au vote ☆☆☆☆☆★★★★★

Suite à l'exercice de Fonctions

Objectif :

Créer des Fonctions  en SQL

Travail à faire:

Réaliser les requêtes suivantes :

         Requête 1 : Fonction de conversion qui retourne une chaîne de caractères contenant la date selon le format "dd/mm/yyyy";

         Requête 2 : Fonction de conversion qui retourne une chaîne de caractères contenant l'heure selon le format "hh:mm:ss";

         Requête 3 : Fonction de conversion qui retourne une chaîne de caractère contenant la date et l'heure selon le format "dd/mm/yyyy hh:mm:ss".

         Requête 4 : Fonction de conversion qui retourne une chaîne de caractère au format indiqué.

  1.  
    • Réduit à l'essentiel le nombre de formats de conversion peut être complété à volonté.
    • Retourne "Null" si le format saisi est incorrect ou non défini.

         Requête 5 : Fonction qui retourne l'information de date en attribuant la valeur 0 (minuit) à la partie heure.

         Requête 6 : Fonction qui retourne l'information d'heure en attribuant la valeur 0 (01/01/1900) à la partie date.

         Requête 7 : Fonction qui retourne le trimestre d'une date

         Requête 8 : Fonction qui retourne le semestre d'une date


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Requête 1
CREATE FUNCTION [dbo].[fctDateToStr] (@Date DateTime) 
Returns Char(10) AS 
Begin 
   RETURN Convert(Char(10), @Date,103) 
End 
 
Requête 2 :
CREATE FUNCTION [dbo].[fctTimeToStr] (@Date DateTime) 
Returns Char(8) AS 
Begin 
   RETURN Convert(Char(8), @Date,108) 
End 
 
Requête 3 :
CREATE FUNCTION [dbo].[fctDateTimeToStr] (@Date DateTime) 
Returns Char(19) AS 
Begin 
   RETURN Convert(Char(10), @Date,103) + ' ' + Convert(Char(8), @Date,108) 
End 
 
Requête 4 :
CREATE FUNCTION [dbo].[fctFormatDateTime] (@Format AS Varchar(19), @Date DateTime) 
Returns Varchar(19) AS 
Begin 
   RETURN Case @Format 
      When 'dd/mm/yyyy' Then Convert(Char(10), @Date,103) 
      When 'yyyy-mm-dd' Then Convert(Char(10), @Date, 120) 
      When 'yyyy-mm' Then Convert(Char(7), @Date, 120) 
      When 'dd/mm/yyyy hh:mm:ss' Then Convert(Char(10), @Date,103) + ' ' + Convert(Char(8), @Date,108) 
      When 'yyyy-mm-dd hh:mm:ss' Then Convert(Char(19), @Date, 120) 
      When 'dd mmm yyyy' Then Case Month(@Date) 
                                        When 4 Then Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 3) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                        When 5 Then Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 3) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                        When 10 Then Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 3) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                        When 11 Then Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 3) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                        When 12 Then Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 3) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                        Else Cast(Day(@Date) AS Varchar(2)) + ' ' + LEFT(DateName(Month, @Date), 4) + ' ' + Cast(Year(@Date) AS Char(4)) 
                                     End 
      When 'dd mmmm yyyy' Then Cast(Day(@Date) AS Varchar(2)) + ' ' + DateName(Month, @Date) + ' ' + Cast(Year(@Date) AS Char(4)) 
      When 'mmm' Then Case Month(@Date) 
                                        When 4 Then LEFT(DateName(Month, @Date), 3) 
                                        When 5 Then LEFT(DateName(Month, @Date), 3) 
                                        When 10 Then LEFT(DateName(Month, @Date), 3) 
                                        When 11 Then LEFT(DateName(Month, @Date), 3) 
                                        When 12 Then LEFT(DateName(Month, @Date), 3) 
                                        Else LEFT(DateName(Month, @Date), 4) 
                                     End 
      When 'hh:mm:ss' Then Convert(Char(8), @Date,108) 
   End 
End
 
Requête 5 :
CREATE FUNCTION [dbo].[fctDateOf] (@Dte DateTime)
Returns Datetime
Begin
   RETURN Convert(DateTime, Floor(Convert(Float, @Dte)));
end
 
Requête 6 :
CREATE FUNCTION [dbo].[fctTimeOf] (@Dte DateTime)
Returns DateTime
Begin
   RETURN Convert(DateTime, Convert(BINARY(4),@Dte));
End
 
Requête 7
CREATE FUNCTION [dbo].[fctQuarterOf] (@Dte DateTime)
Returns Tinyint
Begin
   RETURN DatePart(Quarter, @Dte);
End
 
Requête 8 :
CREATE FUNCTION [dbo].[fctSemesterOf] (@Dte DateTime)
Returns Tinyint
Begin
   RETURN Ceiling(Month(@Dte)/6.0);
End	
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02