1 - I had to add a length "(100") the DECLARE @testnumber nvarchar
2 - I took the left and right of the "=" and moved them to the SELECT line (to see the output)
3 - I replaced your table with a virtual table
This is what I got:
Declare @testnum nvarchar(100) = '447123456789'
SELECT T_TID, REPLACE(Employee.Phone_Mobile, ' ', '') AS A, (('0' + Right(@testnum, 10))) AS B
FROM (
SELECT 1 AS T_TID,
'01234 123456' AS Phone_Mobile
) AS Employee
A = 01234123456
B = 07123456789
So, in the declaration of @testnum you have '447123456789' but you also say "The Second is written: "441234123456". If @testnum is set to '441234123456' it works....