Formatear campo en SQL

14/07/2008 - 08:34 por Che | Informe spam
Tengo un campo de telefono con el formato +35_xxx.xxx.xxx donde _ es un
espacio.
Como pueod formatearlo en SQL 2005 para que se quede xxxxxxxxx ??
Son cerca de 35000 campos de una cloumna.

Gracias y perdonar las molestias.

Preguntas similare

Leer las respuestas

#6 Che
15/07/2008 - 14:12 | Informe spam
Gracias Ricardo, pero, donde le digo el campo que quiere ejecutarse??
Es una tabla con varias columnas, y solo lo quiero en esa columna.

"Ricardo Junquera" escribió en
el mensaje news:
Hola

Select replace(right('+35_xxx.xxx.xxx',11),'.','')

Te explico la select
Right lo que hace es quedarse con los caracteres empezando por el final
(derecha), en este caso queremos los 11 ultimos xxx.xxx.xxx, pero a estos
11
caracteres queremos quitarle los puntos "." por eso hacemos un replace de
punto "." por vacio ""


Ricardo Junquera
Consultor BI
BG&S Consultores


"Che" wrote:

He mirado la ayuda, realizaod unas pruebas y soy incapaz!!! ;-((

"Isaias" escribió en el mensaje
news:
> Seria conveniente que consultara en su ayuda en linea, el
> funcionamiento
> de
> RIGHT (LEFT) y REPLACE, esto le ayudara en futuras dudas.
> Saludos
> IIslas
>
>
> "Che" wrote:
>
>> Seria asi???
>> Select Telefono replace(right('+35_xxx.xxx.xxx',11),'.','')
>>
>> Que significa el 11 ??'
>>
>> "Ricardo Junquera"
>> escribió
>> en
>> el mensaje news:
>> > Hola
>> >
>> > No se si solo quieres mostralo en las consultas o actualizarlo en la
>> > base
>> > de
>> > datos pero creo que en cualquier caso con la función right() y la
>> > función
>> > replace te puede valer.
>> >
>> > Algo así ¿?
>> > Select replace(right('+35_xxx.xxx.xxx',11),'.','')
>> >
>> >
>> > Ricardo Junquera
>> > Consultor Business Intelligence
>> > BG&S Consultores
>> >
>> >
>> > "Che" wrote:
>> >
>> >> Tengo un campo de telefono con el formato +35_xxx.xxx.xxx donde _
>> >> es
>> >> un
>> >> espacio.
>> >> Como pueod formatearlo en SQL 2005 para que se quede xxxxxxxxx ??
>> >> Son cerca de 35000 campos de una cloumna.
>> >>
>> >> Gracias y perdonar las molestias.
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#7 Ricardo Junquera
15/07/2008 - 14:22 | Informe spam
Pues un update sin mas sobre ese campo algo así

Update tabla
set campo1= replace(right(campo1,11),'.','')

Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Che" wrote:

Gracias Ricardo, pero, donde le digo el campo que quiere ejecutarse??
Es una tabla con varias columnas, y solo lo quiero en esa columna.

"Ricardo Junquera" escribió en
el mensaje news:
> Hola
>
> Select replace(right('+35_xxx.xxx.xxx',11),'.','')
>
> Te explico la select
> Right lo que hace es quedarse con los caracteres empezando por el final
> (derecha), en este caso queremos los 11 ultimos xxx.xxx.xxx, pero a estos
> 11
> caracteres queremos quitarle los puntos "." por eso hacemos un replace de
> punto "." por vacio ""
>
>
> Ricardo Junquera
> Consultor BI
> BG&S Consultores
>
>
> "Che" wrote:
>
>> He mirado la ayuda, realizaod unas pruebas y soy incapaz!!! ;-((
>>
>> "Isaias" escribió en el mensaje
>> news:
>> > Seria conveniente que consultara en su ayuda en linea, el
>> > funcionamiento
>> > de
>> > RIGHT (LEFT) y REPLACE, esto le ayudara en futuras dudas.
>> > Saludos
>> > IIslas
>> >
>> >
>> > "Che" wrote:
>> >
>> >> Seria asi???
>> >> Select Telefono replace(right('+35_xxx.xxx.xxx',11),'.','')
>> >>
>> >> Que significa el 11 ??'
>> >>
>> >> "Ricardo Junquera"
>> >> escribió
>> >> en
>> >> el mensaje news:
>> >> > Hola
>> >> >
>> >> > No se si solo quieres mostralo en las consultas o actualizarlo en la
>> >> > base
>> >> > de
>> >> > datos pero creo que en cualquier caso con la función right() y la
>> >> > función
>> >> > replace te puede valer.
>> >> >
>> >> > Algo así ¿?
>> >> > Select replace(right('+35_xxx.xxx.xxx',11),'.','')
>> >> >
>> >> >
>> >> > Ricardo Junquera
>> >> > Consultor Business Intelligence
>> >> > BG&S Consultores
>> >> >
>> >> >
>> >> > "Che" wrote:
>> >> >
>> >> >> Tengo un campo de telefono con el formato +35_xxx.xxx.xxx donde _
>> >> >> es
>> >> >> un
>> >> >> espacio.
>> >> >> Como pueod formatearlo en SQL 2005 para que se quede xxxxxxxxx ??
>> >> >> Son cerca de 35000 campos de una cloumna.
>> >> >>
>> >> >> Gracias y perdonar las molestias.
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#8 Carlos M. Calvelo
15/07/2008 - 14:24 | Informe spam
Hola Che,

On 15 jul, 14:12, "Che" wrote:
Gracias Ricardo, pero, donde le digo el campo que quiere ejecutarse??
Es una tabla con varias columnas, y solo lo quiero en esa columna.




El '+35_xxx.xxx.xxx' lo has puesto tu como ejemplo.
En su lugar tienes que poner el nombre de la columna.

Select replace(right(Telefono,11),'.','')

Saludos,
Carlos
Respuesta Responder a este mensaje
#9 Emerson
17/07/2008 - 18:22 | Informe spam
Che:
me parece que no has establecido con que tabla has de trabajar en la
sintaxis que mensionas, por eso te sale el error de que el nombre de la
columna no existe, tienes que poner el nombre de la tabla, prueba con esta
linea:
Select replace(right(telefono,11),'.','') From Migration

Emerson Q.


"Che" escribió en el mensaje
news:%
Gracias por vuestra paciencia, pero no me funciona:

Select replace(right(Telefono,9),'.','')
Mens. 207, Nivel 16, Estado 1, Línea 2
El nombre de columna 'Telefono' no es válido.
El Telefono tiene la estructua: +35 963.589.369 y quisiera que fuera
963589369


Perdonad las molestias.

"Carlos M. Calvelo" escribió en el mensaje
news:
Hola Che,

On 15 jul, 14:12, "Che" wrote:
Gracias Ricardo, pero, donde le digo el campo que quiere ejecutarse??
Es una tabla con varias columnas, y solo lo quiero en esa columna.




El '+35_xxx.xxx.xxx' lo has puesto tu como ejemplo.
En su lugar tienes que poner el nombre de la columna.

Select replace(right(Telefono,11),'.','')

Saludos,
Carlos





Respuesta Responder a este mensaje
#10 Che
18/07/2008 - 09:28 | Informe spam
Gracias, osys unos monstruos.

"Emerson" escribió en el mensaje
news:
Che:
me parece que no has establecido con que tabla has de trabajar en la
sintaxis que mensionas, por eso te sale el error de que el nombre de la
columna no existe, tienes que poner el nombre de la tabla, prueba con esta
linea:
Select replace(right(telefono,11),'.','') From Migration

Emerson Q.


"Che" escribió en el mensaje
news:%
Gracias por vuestra paciencia, pero no me funciona:

Select replace(right(Telefono,9),'.','')
Mens. 207, Nivel 16, Estado 1, Línea 2
El nombre de columna 'Telefono' no es válido.
El Telefono tiene la estructua: +35 963.589.369 y quisiera que fuera
963589369


Perdonad las molestias.

"Carlos M. Calvelo" escribió en el mensaje
news:
Hola Che,

On 15 jul, 14:12, "Che" wrote:
Gracias Ricardo, pero, donde le digo el campo que quiere ejecutarse??
Es una tabla con varias columnas, y solo lo quiero en esa columna.




El '+35_xxx.xxx.xxx' lo has puesto tu como ejemplo.
En su lugar tienes que poner el nombre de la columna.

Select replace(right(Telefono,11),'.','')

Saludos,
Carlos









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida