我有存儲在日期字段中有不準確的時間SQL Server表XML列的XML文檔修改日期字段存儲在SQL Server表
我倒要更新所有的日期和時間(SaleDateTime,LineStartTime,LineEndTime)值減去15秒,例如2012-02-01T00:07:50變爲2012-02-01T00:08:05(長篇大論爲何它需要這樣做;它不在我手中)。可以有1到多個事務,每個事務可以有1個或多個行條目。
我試過OPENXML,修改方法等與DATEADD,我不能正確的。我不知道該怎麼做。任何幫助表示讚賞。提前致謝!!
樣品低於
CREATE TABLE XMLTable (doc xml);
INSERT INTO XMLTable (doc)
VALUES
(
'<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Transaction>
<SaleID>1</SaleID>
<Sale>
<SaleDateTime>2012-02-01T00:07:00</SaleDateTime>
<LineItem>
<Line>1</Line>
<LineStartTime>2012-02-01T00:07:00</LineStartTime>
<LineEndTime>2012-02-01T00:07:00</LineEndTime>
<Amount>13.50</Amount>
</LineItem>
</Sale>
</Transaction>
<Transaction>
<SaleID>2</SaleID>
<Sale>
<SaleDateTime>2012-02-01T00:11:00</SaleDateTime>
<LineItem>
<Line>1</Line>
<LineStartTime>2012-02-01T00:11:00</LineStartTime>
<LineEndTime>2012-02-01T00:11:00</LineEndTime>
<Amount>13.50</Amount>
</LineItem>
<LineItem>
<Line>2</Line>
<LineStartTime>2012-02-01T00:11:00</LineStartTime>
<LineEndTime>2012-02-01T00:11:00</LineEndTime>
<Amount>5.22</Amount>
</LineItem>
</Sale>
</Transaction>
</Root>')
SELECT * FROM XMLTable
謝謝。我嘗試了修改方法,但我的問題是如何將15秒添加到每個日期時間字段? – user2349972 2013-05-04 15:00:49
您必須讀取舊值然後進行設置。您必須遍歷每行和每次銷售。在C#或VB中可能更容易解決客戶端問題。 – Andomar 2013-05-04 15:04:51
謝謝!你會舉一個例子嗎? – user2349972 2013-05-04 15:07:01