[SQL] Changer la casse d'un titre?

Changer la casse d'un titre? [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 06-06-2011 à 12:39:28    

Bonjour,
 
J'explique mon souci du jour.
Dans une base de données produits, on a encodé certains produits avec le titre en majuscule.
Cela pose souci.
 
Je souhaite donc , pour tous ces produits dont le titre est en majuscule, changer la casse pour n'avoir que la première lettre en majuscule et le reste en minuscule.
 
Comment puis je faire cela en requête sql dans phpmyadmin?
 
Merci!  :hello:

Reply

Marsh Posté le 06-06-2011 à 12:39:28   

Reply

Marsh Posté le 06-06-2011 à 13:01:32    

fonctions left() et ucase()

Reply

Marsh Posté le 10-06-2011 à 20:56:26    

Update products SET products=ucase(left(products_name,1)) AND products=lcase(right(products_name,54))
 
 
A mon avis c'est tout faux :D

Reply

Marsh Posté le 14-06-2011 à 14:38:37    

Personne peut me dire comment faire?

Reply

Marsh Posté le 14-06-2011 à 16:01:54    

L'update de brash devrai pas etre trop loin de la solution, en tout cas c'est l'idée.
 
A part peut etre une typo ca devrai fonctionner

Reply

Marsh Posté le 15-06-2011 à 12:30:04    

ERREUR :D
Personne pour fournir la typo exacte de cette requête?

Reply

Marsh Posté le 15-06-2011 à 12:53:27    

bah t'avais déjà les pistes pour la faire toi-même... tu veux la requête exacte sans réfléchir ?

Reply

Marsh Posté le 15-06-2011 à 12:55:36    

En fait brash est mon multi :D
J'ai donc réfléchi... Et ne trouve pas la formulation exacte.
Après deux heures de recherche.

Reply

Marsh Posté le 15-06-2011 à 14:22:27    

Voila un exemple pour SQL Server:

Code :
  1. CREATE TABLE #tmpTable (sqltxt varchar(50))
  2.  
  3. INSERT #tmpTable (sqltxt) Values ('Hello')
  4. INSERT #tmpTable (sqltxt) Values ('hELLO')
  5. INSERT #tmpTable (sqltxt) Values ('HELLO')
  6. INSERT #tmpTable (sqltxt) Values ('hello')
  7. INSERT #tmpTable (sqltxt) Values ('hElLo')
  8. INSERT #tmpTable (sqltxt) Values ('HeLLo')
  9.  
  10. SELECT UPPER(LEFT(sqltxt,1)) + LOWER(RIGHT(sqltxt,LEN(sqltxt)-1)) CaseFixed, * FROM #tmpTable


 
Resultat:

Code :
  1. CaseFixed sqltxt
  2. Hello  Hello
  3. Hello  hELLO
  4. Hello  HELLO
  5. Hello  hello
  6. Hello  hElLo
  7. Hello  HeLLo


Message édité par Oliiii le 15-06-2011 à 14:23:11
Reply

Marsh Posté le 16-06-2011 à 12:22:44    

Donc je fais ceci et ça fonctionnera?

  

Update products SET products_name=UPPER(LEFT(products_name,1)) +  LOWER(RIGHT(products_name,LEN(products_name)-1))


Message édité par Bennyb666 le 16-06-2011 à 12:23:59
Reply

Marsh Posté le 16-06-2011 à 12:22:44   

Reply

Marsh Posté le 16-06-2011 à 15:17:30    

Bon, j'ai une requête avec ses SUBSTR, mais cela ne fonctionne pas du tout sous phpmyadmin.
Quelqu'un peut m'éclairer?
 
update products_description2, set products_description2.products_name =CONCAT(upper(SUBSTR(products_description2.products_name,1,1)),lower(SUBSTR(products_description2.products_name,1,63))) WHERE products.products_id=products_description2.products_id AND products_description2.language_id=1 AND products.products_id=12365

Reply

Marsh Posté le 17-06-2011 à 09:30:21    

Il y a un message d'erreur?
Un peu plus de detail sur ce qui ne fonctionne pas?

Reply

Marsh Posté le 21-06-2011 à 20:24:20    

utilise initcap

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed