Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2010
LCIdesarrollo LCIdesarrollo is offline
Registrado
 
Registrado: dic 2009
Posts: 7
Poder: 0
LCIdesarrollo Va por buen camino
Error de Intercalación en Función SQL

Hola, Estoy haciendo una consulta la cual posee una Función para concatenar Números de Pedidos q son varchar, esta Función toma como parametros 2 varchar (Tipo de Comprobante y Nro de Comprobante de Facturas).

La llamada en la consulta es la siguiente:

Código SQL [-]
DBO.LCI_CONCAT_PED(GVA12.T_COMP,GVA12.N_COMP)

El Error q me da es el siguiente:
"No se puede realizar la conversión implícita del valor varchar a varchar porque la intercalación del valor no está resuelta a causa de un conflicto de intercalación."

Por lo q estuve investigando es un problema de diferencias en la COLLATION, los valores que paso como parametro y los valores q concateno son Latin1_General_Bin y se ve q lo q devuelve la Función es otro, creo q este puede ser el problema, pero no estoy seguro me gustaria ver si me pueden dar una solución....desde ya Muchas Gracias


Por ultimo les dejo el código de la Función:

Código SQL [-]
CREATE FUNCTION dbo.LCI_CONCAT_PED (@t_comp varchar(3),@n_comp varchar(13))
RETURNS varchar(200) AS
BEGIN
declare @retvalue varchar(200)
set @retvalue=''

select @retvalue = @retvalue +ltrim(rtrim(isnull(NRO_PEDIDO,'')))+' - '
from (SELECT GVA55.NRO_PEDIDO
FROM GVA55
WHERE GVA55.T_COMP = @t_comp
AND GVA55.N_COMP = @n_comp) as tmp_tbl

return SUBSTRING(@retvalue,1,
CASE LEN(@retvalue)
WHEN 0 THEN 1
ELSE LEN(@retvalue)-2
END)
Responder Con Cita
  #2  
Antiguo 04-05-2010
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 20
luisgutierrezb Va por buen camino
en MS SQL server generalmente se resuelve poniendo collate despues del campo con la intercalacion por ejemplo

select Uno + dos collate Latin1_General_Bin
from tabla

a lo mejor al declarar la funcion puedes especificarle el collate al valor, la verdad nunca lo eh intentado
Responder Con Cita
  #3  
Antiguo 05-05-2010
LCIdesarrollo LCIdesarrollo is offline
Registrado
 
Registrado: dic 2009
Posts: 7
Poder: 0
LCIdesarrollo Va por buen camino
Disculpen pero ya lo solucuione el error no esta en la función

Saludos
Responder Con Cita
  #4  
Antiguo 05-05-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por LCIdesarrollo Ver Mensaje
Disculpen pero ya lo solucuione el error no esta en la función

Saludos

¿Y dónde está el error?


Por cierto, no repitas hilos, borraré el otro.
Responder Con Cita
  #5  
Antiguo 11-08-2017
edy_aca edy_aca is offline
Miembro
 
Registrado: nov 2003
Posts: 74
Poder: 21
edy_aca Va por buen camino
hola luisgutierrezb
Cita:
Empezado por luisgutierrezb Ver Mensaje
en MS SQL server generalmente se resuelve poniendo collate despues del campo con la intercalacion por ejemplo

select Uno + dos collate Latin1_General_Bin
from tabla

a lo mejor al declarar la funcion puedes especificarle el collate al valor, la verdad nunca lo eh intentado
me vi en un problema y lo soluciones con tu comentario muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
error en funcion diego007 Varios 4 03-03-2010 02:25:29
Error al accesar una funcion en una DLL FGarcia Varios 11 23-06-2008 23:24:59
Error con funcion astut Varios 4 17-09-2006 15:47:04
Error funcion mail() Andrea Martinez PHP 6 02-12-2004 17:00:34


La franja horaria es GMT +2. Ahora son las 00:49:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi