SQL Server 2016xmlを使用して日付/時刻をロードするときのエラーSQL Server
xmlでバルクレコードを処理しています。私は次のクエリを持っています:
DECLARE @xmlString VARCHAR(4000);
SET @xmlString = N'
<Customers>
<OrderID>10248</OrderID>
<CustomerID>VINET</CustomerID>
<CreateDate>10/7/2016 7:31:06 AM</CreateDate>
</Customers>
';
DECLARE @xml XML;
SET @xml = CONVERT(XML, @xmlString);
INSERT INTO [test].dbo.[customers]
([OrderID] ,
[CustomerID] ,
[CreateDate]
)
SELECT T.Customer.value('(OrderID)[1]', 'INT') AS OrderID ,
T.Customer.value('(CustomerID)[1]', 'nvarchar(20)') AS CustomerID ,
T.Customer.value('(CreateDate)[1]', 'DATETIME') AS CreateDate
FROM @xml.nodes('Customers') AS T (Customer);
私はCreateDateフィールドを削除すると、これはうまくロードされます。しかし、私はCreateDateフィールドを残して、私はこのエラーが表示されます:
CreateDateはDATETIMEフィールドです。ここで
はテーブルです:
CREATE TABLE [dbo].[Customers](
[OrderID] [INT] NULL,
[CreateDate] [DATETIME] NOT NULL,
[CustomerID] [NVARCHAR](10) NULL
) ON [PRIMARY]
私はXMLを介し私のテーブルに日付/時間をロードするために行方不明です何の変換?おかげ
のようにそれを試して、戻ってあなたのため、このXMLを作成し誰に行くとエクスポートの日付/時刻形式としてISO 8601を使用するためにそれらを教えてください。 '2016年10月07日07時31分06秒は、変換するのにはるかに少ないトラブルがあります。これは、 "AM"がヒントを示すように、10/7がMM/DDであると仮定しています。ローカルフォーマットでは決して確信が持てません。 –
@jeroen - 私はXMLを作成しています。私はISO 8601(つまり、2006-04-18T09:58:04.570)を試しましたが、まだ失敗しました。 – BoundForGlory
私のマシンでこのコードを実行しました。多分、目的地テーブルを持つ何か?作成スクリプトを表示できますか? – gofr1