Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2006, 13h29   #1
Membre à l'essai
 
Inscription : août 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 48
Points : 22
Points : 22
Par défaut MySQL - formatage

Bonjour a tous,

J'ai importé dans une base MySQL des enregistrements
qui n'etaient pas bien formaté.

Je dois mettre la premiere lettre en Maj et les suivantes en
minuscules.

Y aurait il un bout de dode qui peut executer cette transformation ?

Merci pour vos reponse
G92
Gui92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 13h40   #2
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
Bonjour,

en mysql ou en php ?
si php
Code :
1
2
 
$ta_chaine = ucfirst(strtolower($ta_chaine));
si c'est en mysql, il doit bien exister une fonction propre a mysql, mais je ne m'en souviens plus
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 13h53   #3
Membre à l'essai
 
Inscription : août 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 48
Points : 22
Points : 22
Non, en My SQL

UCASE ca met en minuscule
UPPER ca met en majuscule

Je trouve pas comment faire la transformation
Peut etre avec REPLACE ?
Gui92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h00   #4
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
ca y est j'ai retrouve, il y a lcase() pour mettre en minuscule et upper() pour les majuscules, mais il n'y a aucune fonction pour mettre la premiere lettre en majuscule . Il va falloir faire des moulinettes

regarde par la les fonctions sur les chaines de caracteres mysql
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h18   #5
Membre à l'essai
 
Inscription : août 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 48
Points : 22
Points : 22
Il y a aussi

Code :
1
2
3
4
5
6
7
LOWER(chaine) 	
 
SELECT monchamp, LOWER(monchamp) FROM matable
 
UCASE(chaine) 	MySQL
 
SELECT monchamp, UCASE(monchamp) FROM matable


Mais je ne sais pas si ca marche avec un REPLACE ?
Gui92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h33   #6
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
je ne peux pas te repondre la
le mieux serait que tu fasse un test sur un enregistrement
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h54   #7
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
quelque chose comme

Code :
CONCAT(UCASE(LEFT(champ, 1)), SUBSTRING(champ, 1))
http://dev.mysql.com/doc/refman/4.1/...functions.html
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 19h23   #8
Membre à l'essai
 
Inscription : août 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 48
Points : 22
Points : 22
Poutr ceux ke ca interesse
j'ai résolu en faisant une moulinette PHP

C'est peut etre pas le + elegant, j'aurais préfére faire ca directement en MYSQL
mais ca a l'air galere

Code :
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
<TABLE border="0" cellpadding="1" cellspacing="1">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>TABLE </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>nom</td>
  </tr>
<?php
$i = 0;
mysql_select_db($database_chatgr, $chatgr);
$query_CLIENT1 = "SELECT id_client, nom FROM TESTCLI";
$CLIENT1 = mysql_query($query_CLIENT1, $chatgr) OR die(mysql_error());
 
$query_CLIENT2 = "SELECT id_client, nom FROM TESTCLI";
$CLIENT2 = mysql_query($query_CLIENT2, $chatgr) OR die(mysql_error());
 
   while (($row = mysql_fetch_row($CLIENT1)) && ($row2 = mysql_fetch_row($CLIENT2))){ 
 
  $row[1] = ucfirst(strtolower($row[1]));
 
    $i++;  
 
  IF ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE TESTCLI SET nom=%s WHERE id_client=%s",
                       GetSQLValueString($row[1], "text"),
                       GetSQLValueString($row[0], "int"));
 
  mysql_select_db($database_chatgr, $chatgr);
  $Result1 = mysql_query($updateSQL, $chatgr) OR die(mysql_error());
                                                                          }
  ?>
    <tr>
      <td><?php echo $i; ?></td>
	<?     ?>
      <td><?php echo $row2[1]; ?></td> <?  ?>
 
	  <td>
 
          <input name="nom" type="text" id="nom" value="<?php echo $row[1]; ?>" />
      </td>
    </tr>
    <?php }  ?>
</table>
<form id="form1" name="form1" method="post" action="">
  <input type="submit" name="Submit" value="Submit" />
  <input name="MM_update" type="hidden" id="MM_update" value="form1" />
</form>
Gui92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h08.


 
 
 
 
Partenaires

Hébergement Web