Outils pour utilisateurs

Outils du site


sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sql [2012/10/19 12:13] floriansql [2023/03/17 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Exemples pratiques ====== ====== 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. ===== ===== Remplacement d'une chaîne de caractères par une autre. =====
  
Ligne 11: Ligne 30:
  
 % est un caractère joker, il remplace n'importe quel caractère présent 0 ou plusieurs fois. % 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 ===== ===== Condition sur échéance =====
Ligne 17: Ligne 50:
 **CURDATE**() : retourne la date courante. **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 prochains jours : +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( CURDATE() + 7 )+  WHERE DATE_ECHEANCE < DATE_ADD( CURDATE(), INTERVAL 30 DAY  
 + 
 +Exemple dans 4 mois 
 +  WHERE DATE_ECHEANCE < DATE_ADD( CURDATE(), INTERVAL 4 MONTH)  
sql.1350648825.txt.gz · Dernière modification : (modification externe)