Quitar caracteres

23/02/2004 - 14:37 por sebawwf | Informe spam
Saludos...

Mi problema es el siguiente. Tengo una tabla que viene exportada de un
.txt, donde una columan con valores se encuentra de esta forma

5.000,00
4,547,00
230.321,00
...
...

muy parecido a se ven algunas veces datos en excel. Todos los datos
están de igual forma, lo que necesito es sacar ",00" ya que ninguno
tiene datos decimales; están todos en 0 y necesito sacar el "." en la
separación de miles.
He dado muchas vueltas por aquí y por otro lados de la red, pero no
logro entender algunas funciones como para crear una que se adapte a
lo que necesito, agradecería mucho algo simple, ojalá con un select
solamente y bien didáctico ya que aún soy novato en esto.

Gracias. :)

Preguntas similare

Leer las respuestas

#1 Miguel Egea
23/02/2004 - 14:50 | Informe spam
declare @a varchar(100)
set @a='1.200,00'
select cast( replace(replace(left(@a,len(@a)-2),',',''),'.','') as int)
De dentro a afuera
el len-2 es para calcular la longitud -2 decimales
el left es para quedarme solo con el trozo menos los dos últimos caracteres
el primer replace quita todos las ',' el segundo quita los .


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores


"Sebasti?n Rilly" escribió en el mensaje
news:
Saludos...

Mi problema es el siguiente. Tengo una tabla que viene exportada de un
.txt, donde una columan con valores se encuentra de esta forma

5.000,00
4,547,00
230.321,00
...
...

muy parecido a se ven algunas veces datos en excel. Todos los datos
están de igual forma, lo que necesito es sacar ",00" ya que ninguno
tiene datos decimales; están todos en 0 y necesito sacar el "." en la
separación de miles.
He dado muchas vueltas por aquí y por otro lados de la red, pero no
logro entender algunas funciones como para crear una que se adapte a
lo que necesito, agradecería mucho algo simple, ojalá con un select
solamente y bien didáctico ya que aún soy novato en esto.

Gracias. :)
Respuesta Responder a este mensaje
#2 Maximiliano D. A.
23/02/2004 - 14:52 | Informe spam
Hola!! fijate si esto te es util

declare @var1 char(50)

set @var1 = '5.000,00'

select charindex(',',@var1)

select substring(@var1,1,charindex(',',@var1)-1)



Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Sebasti?n Rilly" escribió en el mensaje
news:
Saludos...

Mi problema es el siguiente. Tengo una tabla que viene exportada de un
.txt, donde una columan con valores se encuentra de esta forma

5.000,00
4,547,00
230.321,00
...
...

muy parecido a se ven algunas veces datos en excel. Todos los datos
están de igual forma, lo que necesito es sacar ",00" ya que ninguno
tiene datos decimales; están todos en 0 y necesito sacar el "." en la
separación de miles.
He dado muchas vueltas por aquí y por otro lados de la red, pero no
logro entender algunas funciones como para crear una que se adapte a
lo que necesito, agradecería mucho algo simple, ojalá con un select
solamente y bien didáctico ya que aún soy novato en esto.

Gracias. :)





Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004
Respuesta Responder a este mensaje
#3 Javier Loria
23/02/2004 - 15:44 | Informe spam
Hola Sebastian:
Si TODOS los datos tienen ",00" al final, puede ser tan secillo como
cortar los 3 ultimos caracteres:
SELECT LEFT(Columna,LEN(Columna)-3)
FROM Tabla
Las funciones se "leen" de adentro hacia afuera, el LEN da el numero de
caracteres que tiene el valor de la columna, y el LEFT da los caracteres a
la izquierda.
Esto no significa que esta nueva columna sea un numero, todavia sigue
siendo una secuencia de caracteres que contiene numeros, si quieres
convertirlo a un numero deberas usar el CAST:
SELECT CAST(LEFT(Columna,LEN(Columna)-3) AS Integer)
FROM Tabla

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Sebasti?n Rilly escribio:
Saludos...

Mi problema es el siguiente. Tengo una tabla que viene exportada de un
.txt, donde una columan con valores se encuentra de esta forma

5.000,00
4,547,00
230.321,00
...
...

muy parecido a se ven algunas veces datos en excel. Todos los datos
están de igual forma, lo que necesito es sacar ",00" ya que ninguno
tiene datos decimales; están todos en 0 y necesito sacar el "." en la
separación de miles.
He dado muchas vueltas por aquí y por otro lados de la red, pero no
logro entender algunas funciones como para crear una que se adapte a
lo que necesito, agradecería mucho algo simple, ojalá con un select
solamente y bien didáctico ya que aún soy novato en esto.

Gracias. :)
Respuesta Responder a este mensaje
#4 sebawwf
23/02/2004 - 21:53 | Informe spam
Gracias a todos, finalmente me salio y sin problemas :) , salvaron mi día jaja


"Miguel Egea" wrote in message news:<u1IHcPh#...
declare @a varchar(100)
set @a='1.200,00'
select cast( replace(replace(left(@a,len(@a)-2),',',''),'.','') as int)
De dentro a afuera
el len-2 es para calcular la longitud -2 decimales
el left es para quedarme solo con el trozo menos los dos últimos caracteres
el primer replace quita todos las ',' el segundo quita los .


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores


"Sebasti?n Rilly" escribió en el mensaje
news:
> Saludos...
>
> Mi problema es el siguiente. Tengo una tabla que viene exportada de un
> .txt, donde una columan con valores se encuentra de esta forma
>
> 5.000,00
> 4,547,00
> 230.321,00
> ...
> ...
>
> muy parecido a se ven algunas veces datos en excel. Todos los datos
> están de igual forma, lo que necesito es sacar ",00" ya que ninguno
> tiene datos decimales; están todos en 0 y necesito sacar el "." en la
> separación de miles.
> He dado muchas vueltas por aquí y por otro lados de la red, pero no
> logro entender algunas funciones como para crear una que se adapte a
> lo que necesito, agradecería mucho algo simple, ojalá con un select
> solamente y bien didáctico ya que aún soy novato en esto.
>
> Gracias. :)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida