none
XQuery работа с датой RRS feed

  • Вопрос

  • добрый вечер!  у меня в xml  дата в таком формате 15.02.2012 10:00:00

    Нужно например выдрать только дату или только время или преобразовать в другой формат даты или сравнивать друг с другом. у меня mssql 2005. может xquery такое?

    15 февраля 2012 г. 15:21

Ответы

  • declare @mydoc xml
    declare @date varchar(20)
    declare @time varchar(20)
    
    set @mydoc = '<Root>
    <Location LocationDate="15.02.2012 10:00:00" 
              LocationTime="15.02.2012 10:00:00" >
    Bla-bla-bla
    </Location>
    </Root>'
    
    select @mydoc
    
    select @date = @mydoc.value( '(/Root/Location/@LocationDate)[1]','varchar(20)' )
         , @time = @mydoc.value( '(/Root/Location/@LocationTime)[1]','varchar(20)' )
    
    select @date = left( @date, 10 )
         , @time = right( @time, 8 )
    
    set @mydoc.modify('
      replace value of (/Root/Location/@LocationDate)[1]
      with sql:variable("@date")
    ')
    set @mydoc.modify('
      replace value of (/Root/Location/@LocationTime)[1]
      with sql:variable("@time")
    ')
    
    select @mydoc


    http://www.t-sql.ru

    • Предложено в качестве ответа Naomi N 16 февраля 2012 г. 4:41
    • Помечено в качестве ответа Abolmasov Dmitry 17 февраля 2012 г. 6:33
    16 февраля 2012 г. 4:15
    Модератор

Все ответы