Introduction aux fonctions de chaîne MySQL

MySQL a diverses fonctions intégrées pour soulager les développeurs de tâches simples telles que le formatage de chaînes et leur permettre de se concentrer sur la solution au problème le plus important. De cette façon, les développeurs n'ont pas à se soucier de l'écriture de scripts pour effectuer des tâches simples. Les fonctions intégrées s'en occupent. Les développeurs ont seulement besoin de se concentrer sur comment et où utiliser ces fonctions intégrées pour atteindre le résultat final.

Une telle catégorie de fonctions intégrées est les fonctions de chaîne MySQL. Le formatage de chaînes tel que la concaténation, l'affichage dans un certain format, l'insertion / suppression de sous-chaînes, etc. peut parfois être une tâche fastidieuse. Les fonctions de chaîne MySQL s'en occupent pour vous.

Pour illustrer diverses fonctions de chaîne MySQL, nous devons d'abord créer une base de données. La base de données suivante sera référencée dans tous les exemples:

Fonctions de chaîne MySQL

La fonction chaîne est facile à utiliser. Ici, nous allons discuter de l'utilisation des fonctions de chaîne dans la programmation MySQL à l'aide d'exemples

1. ASCII (str)

Renvoie la valeur ASCII du caractère le plus à gauche de la chaîne str .

Select FirstName, ASCII(FirstName) from Person

2. BIN (N)

Renvoie l'équivalent binaire de N, où N est un Int / BigInt.

Select Phone, BIN(Phone) from Person

3. BIT_LENGTH (str)

Renvoie la longueur de la chaîne str en bits.

Select FirstName, BIT_LENGTH(FirstName) from Person

4. CHAR_LENGTH (str)

Renvoie la longueur de la chaîne str en caractères.

Select FirstName, CHAR_LENGTH(FirstName) from Person

5. CONCAT (str1, str2, …., Strn)

Renvoie une chaîne formée en joignant str1 à strn. Si une sous-chaîne est NULL, le résultat est NULL.

Select FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

6. CONCAT_WS (séparateur, str1, …, strn)

Renvoie une chaîne concaténée séparée par un séparateur.

Select FirstName, LastName, CONCAT_WS(' ', FirstName, LastName) as DisplayName from Person

Select FirstName, LastName, CONCAT_WS(', ', LastName, FirstName) as DisplayName from Person

7. CHAMP (str, str1, str2, …, strn)

Renvoie la position d'index de la chaîne str parmi str1 à strn . Renvoie 0 s'il n'est pas trouvé.

Select FirstName, LastName, FIELD('John', FirstName, LastName) as IsJohn from Person

8. FORMAT (x, D)

Formate le nombre X en '#, ###, ###. ##' pour l'affichage. D est le nombre de décimales. Par défaut, le format est en-US.

Select FORMAT(Phone, 0) as Phone from Person

9. HEX (str) / UNHEX (hex_str)

Renvoie un équivalent hexadécimal de la chaîne str. UNHEX renvoie la chaîne réelle.

Select FirstName, HEX(FirstName) from Person

10. INSÉRER (str, pos, len, newstr)

Remplace la sous-chaîne commençant à la position pos et de longueur len dans la chaîne str par newstr.

Select FirstName, LastName, INSERT(LastName, 3, 20, FirstName) as LoginID from Person

11. INSTR (str, substr) / LOCATE (substr, str) / POSITION (substr IN str)

Renvoie la position de la première occurrence de substr dans str.

Select FirstName, INSTR(FirstName, 'oo'), LOCATE('hn', FirstName), POSITION('al' IN FirstName) from Person

12. LCASE () / LOWER () et UCASE () / UPPER ()

Convertit une chaîne en minuscules et en majuscules.

Select FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

13. GAUCHE (str, len) / DROITE (str, len)

Renvoie les len caractères les plus à gauche et à droite de la chaîne str.

Select FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

14. LENGTH (str) / OCTET_LENGTH (str)

Renvoie la longueur de la chaîne str en octets. Cela ressemble beaucoup à la fonction CHAR_LENGTH. La différence vient quand il y a des caractères multi-octets dans la chaîne.

Select CHAR_LENGTH('€'), Length('€')

Cela se produit car le signe Euro (€) occupe 3 octets en mémoire.

15. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Insère une sous-chaîne à partir de la position 0 du padstr de chaîne au début et à la fin de la chaîne de chaîne jusqu'à ce que la chaîne résultante soit de len caractères.

Select FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), Char_Length(CONCAT_WS(' ', FirstName, LastName))+Char_Length('Mr. '), 'Mr. ') as DisplayName from Person

16. LTRIM (str) / RTRIM (str) / TRIM (str)

Renvoie la chaîne str après avoir coupé les espaces blancs à gauche, à droite ou aux deux extrémités.

Select LTRIM(' abc ') as L, RTRIM(' abc ') as R, TRIM(' abc ') as T

17. MID (str, pos, len) / SUBSTRING (str, pos, len)

Renvoie une sous-chaîne de la chaîne str commençant à la position pos de la longueur len.

Select FirstName, SUBSTRING(FirstName, 2, 4) as a sub from Person

18. DEVIS (str)

Cette requête cite et annule la chaîne str. Les caractères spéciaux sont échappés.

Select Address, QUOTE(Address) from Person

19. REMPLACER (str, from_str, to_str)

Remplace toutes les occurrences de la sous-chaîne from_str par la sous-chaîne to_str dans la chaîne str . Il est sensible à la casse.

Select Address, REPLACE(Address, 'S', 'ss') from Person

20. INVERSE (str)

Inverse la chaîne str.

Select FirstName, REVERSE(FirstName) from Person

21. ESPACE (N)

Celui-ci est assez drôle. Il renvoie simplement une chaîne de N espaces vides. Maintenant, je me demande ce qui leur a fait créer cette fonction! Quoi qu'il en soit, essayez-le vous-même.

22. SUBSTR (str, pos) / SUBSTRING (str, pos) / SUBSTR (str, pos, len) / SUBSTRING (str, pos, len)

Renvoie une sous-chaîne de la chaîne str à partir de la position pos, jusqu'à la fin si aucun len n'est spécifié ou pour les caractères len sinon. N'oubliez pas, Index commence à 1 dans MySQL.

Select FirstName, LastName, SUBSTR(FirstName, 2), SUBSTRING(LastName, 2, 2) from Person

23. SUBSTRING_INDEX (str, delim, count)

Renvoie une sous-chaîne de la chaîne str avant ou après l'occurrence de comptage du caractère de délimitation. Si le nombre est positif, sous-chaîne avant l'occurrence est retournée. Si le nombre est négatif, une sous-chaîne après l'occurrence est renvoyée.

Select Address, SUBSTRING_INDEX(Address, '-', 1) as House, SUBSTRING_INDEX(Address, ', ', 1) as Street, SUBSTRING_INDEX(Address, ', ', -1) as City from Person

Conclusion - Fonctions de chaîne MySQL

Vous avez donc trouvé certaines de ces fonctions utiles? Est-ce que cela vous a aidé à résoudre un cas d'utilisation que vous aviez? J'en suis sûr. Non seulement les fonctions de chaîne, mais les fonctions intégrées de MySQL sont un excellent moyen d'obtenir les résultats en un minimum de requêtes, réutilisant ainsi le code existant et tirant parti de la puissance du framework à sa pleine capacité.

Articles recommandés

Cela a été un guide pour les fonctions de chaîne MySQL. Ici, nous avons discuté de l'utilisation de la fonction chaîne dans la programmation MySQL à l'aide d'exemples. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Différents types d'opérateurs MySQL
  2. Comment installer MySQL?
  3. Commandes de base à avancées de MySQL.
  4. Aide-mémoire MySQL
  5. Comment implémenter la commande d'insertion dans MySQL?