SET DATEFORMAT dmy

01/10/2003 - 01:10 por Alberto Daniel | Informe spam
Hola Grupo, tengo el siguiente problema a ver si alguien me puede ayudar..

Tengo un sp que tiene como paramatro un xml que lo proceso con el
SP_XML_PREPAREDOCUMENT dentro del Xml que envio tengo unos nodos que
contienen fechas las fechas vienen en el formato dd/mm/yyyy, el formato de
las fechas default en mi BD esta en mm/dd/yyyy...

El problema es cuanto ejecuto el EXEC SP_XML_PREPAREDOCUMENT @XML

¿Como puedo decirle al procedure que el formato de fechas que va a utilizar
es dmy?, ya probe con Set DateFormat dmy y dentro del procedure no me
funciona tengo mas o menos este codigo

CREATE PROCEDURE SP_INS_ABA_POL
@XML NTEXT
AS

SET DATEFORMAT dmy

DECLARE
@IDOC INT,
@ORDEN VARCHAR(15),
@POLIZA VARCHAR(15)

EXEC SP_XML_PREPAREDOCUMENT @IDOC OUTPUT, @XML

SELECT TIPOPRODUCTO, NOMBREASEGURADO, FECHA
FROM OPENXML(@IDOC, '/REPORTE/PRODUCTO',3)
WITH(TIPOPRODUCTO CHAR(18), NOMBREASEGURADO VARCHAR(100), FECHA DATETIME)

Muchas Gracias por su tiempo !!!

Saludos !!!!
 

Leer las respuestas

#1 Mauricio Sthandier R.
01/10/2003 - 04:44 | Informe spam
te sirve CONVERT ? no estoy seguro cual de estos 2 parámetros necesitas :

101 para mm/dd/yy
103 para dd/mm/yy

si agregas 100 te devuelve el año yyyy

algo así : CONVERT(char(8), FECHA, 103)

esto convertirá la fecha a una cadena de largo 8, pero si necesitas
insertarlo en un campo datetime o smalldatetime hace una conversión
implícita

La instrucción SET DATEFORMAT que estás utilizando tiene el siguiente
alcance :

'Este valor sólo se utiliza en la interpretación de las cadenas de
caracteres cuando se convierten en valores de fecha. No tiene ningún efecto
en la presentación de los valores de fecha.'

Fear
is temporary.
Pride
is forever.



"Alberto Daniel" escribió en el mensaje
news:
Hola Grupo, tengo el siguiente problema a ver si alguien me puede ayudar..

Tengo un sp que tiene como paramatro un xml que lo proceso con el
SP_XML_PREPAREDOCUMENT dentro del Xml que envio tengo unos nodos que
contienen fechas las fechas vienen en el formato dd/mm/yyyy, el formato de
las fechas default en mi BD esta en mm/dd/yyyy...

El problema es cuanto ejecuto el EXEC SP_XML_PREPAREDOCUMENT @XML

¿Como puedo decirle al procedure que el formato de fechas que va a


utilizar
es dmy?, ya probe con Set DateFormat dmy y dentro del procedure no me
funciona tengo mas o menos este codigo

CREATE PROCEDURE SP_INS_ABA_POL
@XML NTEXT
AS

SET DATEFORMAT dmy

DECLARE
@IDOC INT,
@ORDEN VARCHAR(15),
@POLIZA VARCHAR(15)

EXEC SP_XML_PREPAREDOCUMENT @IDOC OUTPUT, @XML

SELECT TIPOPRODUCTO, NOMBREASEGURADO, FECHA
FROM OPENXML(@IDOC, '/REPORTE/PRODUCTO',3)
WITH(TIPOPRODUCTO CHAR(18), NOMBREASEGURADO VARCHAR(100), FECHA DATETIME)

Muchas Gracias por su tiempo !!!

Saludos !!!!



Preguntas similares