Comment puis-je convertir et mettre à jour toutes mes données dans une colonne de majuscules à majuscules uniquement pour la première lettre de chaque mot ?
Il faut mettre à jour la base de données avec les nouvelles valeurs.
Remerciements
Comment puis-je convertir et mettre à jour toutes mes données dans une colonne de majuscules à majuscules uniquement pour la première lettre de chaque mot ?
Il faut mettre à jour la base de données avec les nouvelles valeurs.
Remerciements
On dirait que quelqu'un a créé une fonction pour cela,
CREATE FUNCTION CAP_FIRST (input VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(input);
SET input = LOWER(input);
SET i = 0;
WHILE (i < len) DO
IF (MID(input,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET input = CONCAT(
LEFT(input,i),
UPPER(MID(input,i + 1,1)),
RIGHT(input,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN input;
END;
SELECT CAP_FIRST(
'this is totally like @ TEST 1 right!'
)
Qui revient : "C'est tout à fait comme le test 1 !"
Lien : http://joezack.com/index.php/2008/10/20/mysql-capitalize-function/
Ceci peut aider...
http://joezack.com/index.php/2008/10/20/mysql-capitalize-function/
Conformément au commentaire de FAngel, j'ai complètement plagié le contenu ici au cas où le lien disparaîtrait :
CREATE FUNCTION CAP_FIRST (input VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(input);
SET input = LOWER(input);
SET i = 0;
WHILE (i < len) DO
IF (MID(input,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET input = CONCAT(
LEFT(input,i),
UPPER(MID(input,i + 1,1)),
RIGHT(input,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN input;
END;
So running the following code...
SELECT CAP_FIRST(
'this is totally like @ TEST 1 right!'
)
Vous pouvez procéder comme suit :
http://www.thingy-ma-jig.co.uk/blog/30-09-2010/mysql-how-upper-case-words
définissez d'abord la fonction comme indiqué, puis exécutez une instruction de mise à jour :
UPDATE table SET someColumn = UC_FIRST(someColumn);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.