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