如何将日期数组作为xml传递给存储过程

时间:2011-05-03 09:46:06

标签: asp.net sql-server

Bcz,当你将该字符串解析为无法正确解析的日期时。 因为你必须按照sql server日期格式发送日期字符串

ALTER PROCEDURE [dbo].[SprSelectScheduleForReAutoAllocate]  --'<AADates><AADate AADateValue="2011-04-27 00:00:00.000" /><AADate AADateValue="2011-04-28 00:00:00.000" /></AADates>'
(
   @Datexml xml     
)
AS
BEGIN
                  EXEC sp_xml_preparedocument @xmlDoc output ,@DateXml 

                                SELECT  AADateValue
        FROM OPENXML(@xmlDoc,'AADates/AADate',1) 
        WITH 
        (
        AADateValue Datetime    
        )
        xmlDocuments

                EXEC sp_xml_removedocument @xmlDoc  
End

1 个答案:

答案 0 :(得分:0)

SQL Server根据ISO 8601标准以下列两种格式读取日期时间值:

YYYY-MM-DDThh:mm:ss[.mmm]
YYYYMMDDThh:mm:ss[.mmm]

您输入的格式如此,并且由于不兼容的文化或语言,SQL Server永远不会抛出错误。如果您无法将其作为实际datetime值传递,则这是传递该值的文化/语言无关方式。