从XML列中选择最大日期

时间:2017-04-10 08:47:25

标签: sql xml

我有一个名为client的表,在该表中有一个XML列。

我的要求是从该XML列中选择最大transaction_date

XML:

<detail>
    <transaction_date>2015-06-30</transaction_date>
</detail>
<detail>
    <transaction_date>2015-05-29</transaction_date>
<detail>

1 个答案:

答案 0 :(得分:0)

您没有说明RDBMS。从您之前的问题我假设这是SQL-Server。你可以这样试试:

DECLARE @xml XML=
'<detail>
  <transaction_date>2015-06-25</transaction_date>
</detail>
<detail>
  <transaction_date>2015-06-30</transaction_date>
</detail>
<detail>
  <transaction_date>2015-05-29</transaction_date>
</detail>';

 SELECT MAX(dt.value(N'(transaction_date/text())[1]',N'date')) AS MaxTransactionDate 
 FROM @xml.nodes(N'/detail') AS A(dt)

对于将来的问题,请使用实际的RDBMS(产品和版本)进行标记,然后阅读How to ask a good SQL questionHow to create a MCVE