SI puede modificar la tabla (suponiendo que sea SQL Server 2005 y hacia arriba), puede agregar una columna calculada a su tabla y conservarla. Esta columna podría contener una representación "limpia" de su campo "número de teléfono".
Algo como esto:
create function dbo.CleanPhone(@phone varchar(100))
returns varchar(100)
with schemabinding
as begin
return
replace(replace(replace(replace(replace(replace(@phone, ' ', ''),
'-', ''), '(', ''), ')', ''), '-', ''), '+', '')
end
y luego:
alter table (yourtable)
add cleanedPhone as dbo.CleanPhone(Phone) persisted
Ahora, su columna "Teléfono limpio" siempre contendría una versión "limpia" de su número de teléfono, siempre algo como:555123456.
Dado que es un campo PERSISTIDO, tampoco incurre en una penalización de rendimiento cuando consulta:el valor se crea y almacena en su tabla, y está disponible como una columna normal.
Sobre esto, ahora puede consultar con bastante facilidad.
Marc