SQL Server - Error al vonvertir......

   
Vista:

Error al vonvertir......

Publicado por soilo (16 intervenciones) el 08/05/2008 09:56:37
Hola a todos y gracias de antemano,
tengo la siguiente consulta,

INSERT INTO M_RELCOB (CLAVEDEBE,CLAVEHABER,IMPORTE)
SELECT CLAVEDEBE,CLAVEHABER,convert(float,IMPORTE) FROM tmp_vuelcahis
WHERE (not exists (SELECT 'p' FROM M_COBROS WHERE str(m_cobros.CLAVE)=str(tmp_vuelcahis.CLAVEDEBE)) )

donde las tablas m_relcob y tmp_vuelcahis tienen la misma estructura y el campo importe es float en las 2. Si ejecuto el insert sin la clausula where funciona correctamente y me inserta el contenido, pero en cuanto le añado el where me da el siguiente error:

Error al convertir el tipo de datos nvarchar a float.

Es muy raro porque ya digo que sin el where la lanza bien, e probado con el convert y tampoco funciona aunque como ya he dicho en ambas tablas el campo importe es float y los otros dos de texto.

Espero que alguien me pueda ayudar .

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al vonvertir......

Publicado por Isaias (3308 intervenciones) el 08/05/2008 18:23:20
¿Que pretendes hacer con esta instruccion?

SELECT 'p' FROM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por soilo (16 intervenciones) el 08/05/2008 18:45:19
Esa instruccion me devuelve p si es correcto el where y lo compruebo con el exists.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por Isaias (3308 intervenciones) el 09/05/2008 03:10:40
Sigo sin comprender la estructura de su WHERE, pero bueno.

El problame esta en la conversion que esta usted intentando hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por soilo (16 intervenciones) el 09/05/2008 09:17:30
Es que realmente no hago ninguna conversion. Ambas tablas tienen los mismos campos con la misma definicion de campos.
El where lo que hace es comprobar si existe o no existe 'p', que puede ser cualquier valor y que es devuelto si su condicion es cierta. Eso funciona y estoy seguro porque lo utilizo en otras consultas y funciona bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por Isaias (3308 intervenciones) el 09/05/2008 19:33:01
En SQL SERVER, hay 2 tipos de conversiones, las EXPLICITAS, donde se usa CONVERT/CAST y las IMPLICITAS, donde se comparan 2 campos de tipo diferente y el motor de la base entiende que uno de los 2 debe convertirse para realizar la comparacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por soilo (16 intervenciones) el 09/05/2008 19:52:51
Gracias,
ya creo que se cual es el problema, las 2 base de datos que utilizo tienen distinto tipo de intercalación, tengo que probarlo pero creo que van por ahi los tiros.

Un saludo y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al vonvertir......

Publicado por Isaias (3308 intervenciones) el 10/05/2008 01:51:19
Suerte, pero si fuera eso, el error seria de COLLATE

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar