Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.
Travaux dirigés 3
##Auteur : Enseignant ##École : Collège Marie Victorin ##Session : Hiver 2026 ##Titre du cours : Introduction aux bases de données ##Titre du programme : Travaux dirigés 3 ##Version : 1.0 ##Date : 00/00/2026 ##Langage et version : SQL ##Moteur : SQL Server Express
-- Les fonctions dans le langage SQL
-- Objectif :
-- Ce travail dirigé portera sur l'utilisation des fonctions dans le langage SQL
-- =============================================================================
-- ***************************************************************************
-- Vérifications à faire systématiquement AVANT d'écrire les requêtes
-- Vérifier la structure de la table à utiliser, c'est à dire :
-- Le nom de la table
-- Le nom des colonnes
-- Le type ddes colonnes
-- Les données contenues dans la table
-- Base de données à utiliser : BDRH
-- ***************************************************************************
-- ---------
-- Requête 1
-- Table : employes
-- Vérifier la structure de la table "employes"
-- MAnuipulation des chaines de caractères
-- LEN()
-- LEFT() / RIGHT()
-- LOWER() / UPPER()
-- CONCAT()
-- STR()
-- CHARINDEX()
-- SUBSTRING()
-- Convertir le nom en majuscule
-- Convertir le prénom en minuscule
-- Créer le nom complet qui est la concaténation du nom et du prénom séparé par une virgule et un espace
-- Créer la colonne "Nom d'utilisateur"
-- Calculer la longueur du courriel
-- Créer la colonne domaine à partir du courriel
-- Créer la colonne "Indicatif régional"
-- Votre code ici
SELECT
UPPER([nom]) NomMaj,
LOWER([prenom]) PrénomMin,
[nom] + ', ' + [prenom] "Nom complet",
CONCAT([nom], ', ', [prenom]) [Nom complet 2],
LEFT([nom], 1) InitialeNom,
LOWER(CONCAT(LEFT([prenom], 1),nom)) [Nom d'utilisateur],
[courriel],
CHARINDEX('@',courriel) PosArrobas,
LEFT([Courriel], CHARINDEX('@',courriel) - 1) Username,
-- SUBSTRING(courriel, CHARINDEX('@', courriel) + 1, LEN(Courriel) - LEN(LEFT(Courriel,CHARINDEX('@', courriel)))) [Nom de domaine],
SUBSTRING(courriel, 1, CHARINDEX('@',courriel) -1 ) UserName2,
[telephone],
LEFT([telephone], 3) IndRegional,
[date_embauche],
[salaire],
CAST([salaire] AS int) SalaireEntier,
ISNUMERIC(CAST([salaire] AS int)) Type_Salaire
FROM tbl_employes
-- --------- -- Requête 2 -- Les fonctions date / heure -- GETDATE() retourne la date du système -- YEAR() Extrait l'année d'une date -- MONTH() Extrait le mois d'une date (1-12) -- DAY() Extrait le jour d'une date -- DATEDIF() effectue une opération sur les dates en soustrayant deux dates -- DATEADD() effectue une opération sur les dates en ajoutant une valeur à une partie de date -- DATEPART(intervalle, date) retourne une partie de la date passée en parametre -- Votre code ici SELECT GETDATE() AS DateJour -- Affiche la date système complète avec heure ,YEAR(GETDATE()) AnneeDateJour -- Affiche l'année de la date système ,MONTH(GETDATE()) MoisDateJourEnChiffre -- Affiche le mois de la date système en chiffre ,DAY(GETDATE()) JourDateJour -- Affiche le jour de la date système ,DATEPART(MM, GETDATE()) MoisDateJourEnChiffre2 -- Affiche le mois de la date système en chiffre ,DATEPART(HH, GETDATE()) HeureDateJour -- Retourne l'heure de la date ,DATENAME(MONTH, GETDATE()) MoisDateJourEnLettre --Affiche le mois de la date système sous forme de chaine (Janvier au lieu de 01) ,DATEADD(day, 30, GETDATE()) DateJourPlus30 -- Ajoputer 30 au jour courant ,DATEDIFF(year, '1970-02-01', GETDATE()) DiffDeDateEnAnnee -- Calculer le nombre d'année entre 1970 et l'année de la date système ,DATEDIFF(MONTH, '1970-02-01', GETDATE()) DiffDeDateEnMois -- Calculer le nombre de mois entre 1970-02-01 et la date système
-- --------- -- Requête 3 -- Application des fonctions "Date" -- Afficher l'année d'embauche -- Calculer l'ancienneté des employés -- La prochaine date d'augmentation des employés dans 2 ans -- Votre code ici SELECT [prenom], [nom], [courriel], [telephone], [date_embauche], YEAR([date_embauche]) AnneEmbauche, DATEDIFF(YEAR, [date_embauche], GETDATE()) Ancienneté, [salaire], DATEADD(YEAR, 2, [date_embauche]) "Prochaine aug" FROM tbl_employes
-- --------- -- Requête 4
-- ---------- -- Requête 5
-- ---------- -- Requête 6
-- ---------- -- Requête 7
-- ---------- -- Requête 8
-- ---------- -- Requête 9
-- ---------- -- Requête 10
-- ---------- -- Requête 11
W3schools
Python.org