sql >> データベース >  >> RDS >> Sqlserver

ストアドプロシージャのパラメータとしてのXML(SQLサーバー)

    動作すると主張する最初のクエリは、実際には、提供したXMLでは機能しません。このようになります。

    declare @handle int
    declare @XML xml = '<ROOT><ids><id>2013-01-01</id></ids><ids><id>2013-01-02</id></ids></ROOT>'
    exec sp_xml_preparedocument @handle out, @XML
    select * from openxml(@handle, '/ROOT/ids', 2) with (id Date)
    exec sp_xml_removedocument @handle
    

    2番目のバージョンは

    declare @handle int
    declare @XML xml = '<ROOT><id>2013-01-01</id><id>2013-01-02</id></ROOT>'
    exec sp_xml_preparedocument @handle out, @XML
    select * from openxml(@handle, '/ROOT/id', 2) with (id Date '.')
    exec sp_xml_removedocument @handle
    

    SQL Server 2008以降を使用しているため、代わりにXMLデータ型を使用できます。

    declare @XML xml = '<ROOT><id>2013-01-01</id><id>2013-01-02</id></ROOT>'
    
    select T.N.value('text()[1]', 'date') as id
    from @XML.nodes('ROOT/id') as T(N)
    



    1. Oracleサーバーで複数の行のテキストを単一のテキスト文字列に連結するにはどうすればよいですか?

    2. MySQL空間ジオメトリはwktを検証します

    3. プランナーがボラティリティの異なる関数に対して異なる結果を出すのはなぜですか?

    4. クライアントから送信されたリクエストは、@DateTimeFormatを使用して構文的に正しくありませんでした