1
votes

Ajouter un trait d'union dans une chaîne tous les 2 caractères à l'aide de l'instruction de sélection mysql

J'ai une table mysql avec des données. En cela, j'ai une colonne (numéro_mobile) et cette valeur de colonne est comme le numéro de téléphone portable (ex: 1234587920).

Ma sortie attendue est: 12-34-58-79-20

Je veux ajouter un trait d'union tous les deux nombres.


2 commentaires

Ce n'est pas une virgule


Il semble beaucoup plus intelligent de faire ce genre de chose dans la couche de présentation


4 Réponses :


-1
votes

vous pouvez essayer ceci

select concat( right(phone_number,3) , "-" , mid(phone_number,4,3) , "-", right(phone_number,4)) from table


0 commentaires

0
votes

cela fonctionnera:

SELECT concat(SUBSTRING(mobile_number, 1, 2),"- 
",SUBSTRING(mobile_number,3,2),"-",SUBSTRING(mobile_number, 5, 2),"-",
SUBSTRING(mobile_number, 7, 2),"-",
SUBSTRING(mobile_number, 9, 2)) ExtractString from tablename;

pour votre requête de table est comme:

SELECT concat(SUBSTRING("1234587920", 1, 2),"-",SUBSTRING("1234587920",3,2),"- 
",SUBSTRING("1234587920", 5, 2),"-",
SUBSTRING("1234587920", 7, 2),"-",
SUBSTRING("1234587920", 9, 2)) AS ExtractString;


0 commentaires

2
votes

utilisez concat () pour joindre des chaînes et utilisez substr () pour scinder une chaîne dans mysql:

split (column, start, count) select column from start position for count charachter

concat ( colonne1, "-", colonne2) sera colonne1-colonne2

SELECT CONCAT(SUBSTR(phone,1,2),'-',SUBSTR(phone,3,2),'-',SUBSTR(phone,5,2),'- 
',SUBSTR(phone,7,2),'-',SUBSTR(phone,9,2)) FROM `table`


2 commentaires

ne soyez pas juge. Pas du tout


merci esnkrimi ..... Et je voudrais poser un autre doute .. si je ne sais pas combien de nombres j'ai (c'est-à-dire la longueur de la chaîne) à partir de maintenant j'ai 10 chiffres, donc je mets comme statique mais si c'est dynamique quelle serait la solution?



0
votes

J'utiliserais certainement concat_ws () pour cela:

select concat_ws('-',
                 substr(mobile_number, 1, 2),
                 substr(mobile_number, 3, 2),
                 substr(mobile_number, 5, 2),
                 substr(mobile_number, 7, 2)
                )

Voici un violon db .


0 commentaires