0

我写了以下内容procedure......如何date 101 format在这里转换

ALTER PROCEDURE [dbo].[PenDataIns]
--[Begin]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(
    @xmlData ntext = null

) As
--[Begin]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Declare @DocHandle int --Doc handle for P1 
DECLARE @Data_ins_error int

BEGIN TRANSACTION
--[Load data into respective XML document handle before processing]~~~~~~~~~~~~~~
    EXECUTE sp_xml_preparedocument @DocHandle OUTPUT, @xmlData

--[Ecsstru]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


/*  Begin data transfer   */

BEGIN
 INSERT INTO AG_Data([PPO],
    [NUM],[TYPE],[DOB],[DOA],[DOR]) 

SELECT * FROM OPENXML (@DocHandle, '/root/NewDataSet/Table',8) 
WITH
(
    [PPO] varchar(8) './PPO',
    [NUM] numeric(1,0) './NUM',
    [TYPE] varchar(3) './TYPE',
    [DOB] date './DOB',
    [DOA] date './DOA',
    [DOR] date './DOR')

end
4

1 回答 1

0

您的代码很好,不需要修复。您的 XML 文件中有yyyy-mm-dd日期格式,这正是它应该的格式,并且 SQL Server 需要它来正确解释 XML 文件中的日期值。

SQL Server 中的日期不以特定格式存储。日期如何呈现给最终用户最好在表示层完成,您可以根据该用户的区域设置进行不同的表示。

如果您在查询日期值时确实需要特定的日期格式,则必须使用将值转换为字符串convert。例如select convert(char(10), DateColumn, 101) as DateColumn

于 2012-08-14T07:29:35.590 回答