Formater le champ de nombre dans SQL pour Reporting

Actuellement, j'ai une table qui stocke les détails des clients, mais le champ du numéro de téléphone est entré différemment dans le tableau:

ID | Name |Address |DOB | Gender |Phone Number | --------------------------------------------------------- 01 | Max |Abc Road| 2000-12-19 | Male |07777 893 8902 | 02 | Sam |TBH Road| null | Male |077778938902 | 03 | Doe |Dr Road| 1999-11-13 | Male |077778 938902 | 

Cependant, il est possible de reformater le champ du numéro de téléphone afin que les résultats apparaissent comme suit:

 ID | Name |Address |DOB | Gender |Phone Number | --------------------------------------------------------- 01 | Max |Abc Road| 2000-12-19 | Male |07777 893 8902 | 02 | Sam |TBH Road| null | Male |07777 893 8902 | 03 | Doe |Dr Road| 1999-11-13 | Male |07777 893 8902 | 

En outre, pour des raisons de déclaration et d'export, est-il possible de s'assurer que le 0 à l'avant du numéro de téléphone s'affiche?

Toute aide est très appréciée – merci 🙂

Essaye ça

 DECLARE @TmpTbl TABLE (PhoneNumber varchar(20)) INSERT INTO @TmpTbl SELECT '07777 893 8902' UNION ALL SELECT '077778938902' UNION ALL SELECT '077778 938902' select CONCAT(LEFT(replace(PhoneNumber,' ',''),5) ,' ' ,SUBSTRING(replace(PhoneNumber,' ',''),6,3) ,' ' ,RIGHT(replace(PhoneNumber,' ',''),4)) from @TmpTbl 

OU cela fonctionnera également à la place de l'énoncé CONCAT

 Stuff(Stuff(REPLACE(PhoneNumber,' ',''),9,0,' '),6,0,' ') 

Sortie:

 07777 893 8902 07777 893 8902 07777 893 8902