Aller au contenu
EzGED Wiki
Outils pour utilisateurs
S'identifier
Outils du site
Rechercher
Outils
Afficher la page
Anciennes révisions
Liens de retour
Derniers changements
Gestionnaire Multimédia
Plan du site
S'identifier
>
Derniers changements
Gestionnaire Multimédia
Plan du site
Vous êtes ici:
start
»
sql
Piste:
sql
====== Exemples pratiques ====== ===== Suppression d'enregistrements doublons ===== Objectif : supprimer les enregistrements doublons d'une table "métier". Exemple : considérons la table //test//. <code> DELETE t1 FROM test as t1, test as t2 WHERE t1.DIR1 = t2.DIR1 AND t1.FILENAME = t2.FILENAME AND t1.ID != t2.ID </code> Nb: il est recommandé de nettoyer les tables _docpak et _fsfile (notamment) à l'aide du script nettoyertablesystemes.py <code> C:\>python <chemin vers répertoire des scripts>\nettoyertablesystemes.py instance 1 1 </code> Plus de précisions sur la suppression dans MySQL 4.1 peut être trouvée sur la [[http://dev.mysql.com/doc/refman/4.1/en/delete.html|doc officielle]]. ===== Remplacement d'une chaîne de caractères par une autre. ===== **REPLACE**//(chaine,sous-chaine-a-replacer,chaine-de-remplacemnt)// Exemple : La table facture a un champ //facture_NOM//. On souhaite remplacer tous les enregistrements où le champ contient "//GROUPEME T//", c'est-à-dire GROUPEME suivit d'un espace suivit d'un T puis d'un nombre quelconque d'autres caractères éventuellement, par « GROUPEMENT ». On veut remplacer l'espace par un N. Voici la requête à utiliser : UPDATE facture SET facture_NOM = REPLACE(facture_NOM, "GROUPEME ", "GROUPEMEN") WHERE facture_NOM LIKE "GROUPEME %" Si GROUPEME ne se trouve pas au début de la chaîne faites //LIKE "%GROUPEME %"// % est un caractère joker, il remplace n'importe quel caractère présent 0 ou plusieurs fois. ===== Extractions de chaîne ===== Dans un champ dont la valeur est de la forme **Un nom "Une chaine que l'on veut supprimer** on souhaite ne récupérer que **Un nom** Exemple : Pour Gratien Thvernizzi" /o.First Organization/ou=Exch On veut obtenir Gratien Thvernizzi Voici la requête a exécuter : <code>SELECT **CHAMP**,REPLACE(SUBSTRING(**CHAMP**,1,LOCATE('"',**CHAMP**,2)-2),'"','') FROM **TABLE**</code> ===== Condition sur échéance ===== **CURDATE**() : retourne la date courante. Exemple de condition à utiliser pour n'afficher que les enregistrements dont la date d'échéance arrive à terme dans les 30 prochains jours : WHERE DATE_ECHEANCE < DATE_ADD( CURDATE(), INTERVAL 30 DAY) Exemple dans 4 mois WHERE DATE_ECHEANCE < DATE_ADD( CURDATE(), INTERVAL 4 MONTH)
sql.1480414849.txt.gz
· Dernière modification: 2023/03/17 09:56 (modification externe)
Outils de la page
Afficher la page
Anciennes révisions
Liens de retour
Renommer la page
Exporter en PDF
Haut de page