Objectif : supprimer les enregistrements doublons d'une table “métier”. Exemple : considérons la table test.
DELETE t1 FROM test as t1, test as t2 WHERE t1.DIR1 = t2.DIR1 AND t1.FILENAME = t2.FILENAME AND t1.ID != t2.ID
Nb: il est recommandé de nettoyer les tables _docpak et _fsfile (notamment) à l'aide du script nettoyertablesystemes.py
C:\>python <chemin vers répertoire des scripts>\nettoyertablesystemes.py instance 1 1
Plus de précisions sur la suppression dans MySQL 4.1 peut être trouvée sur la doc officielle.
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.
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 :
SELECT **CHAMP**,REPLACE(SUBSTRING(**CHAMP**,1,LOCATE('"',**CHAMP**,2)-2),'"','') FROM **TABLE**
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)