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

T-SQL で XML から nvarchar 値を抽出する:1 文字のみが返される

    サイズなしで nvarchar を使用しないでください。 ドキュメント から :

    正確な長さがわからない場合は、いつでも nvarchar(max) を使用できます :

    declare @criteria xml;
    set @criteria = N'<criterion id="DocName"><value>abcd</value></criterion>';
    
    declare @val nvarchar(max);
    set @val = @criteria.value('(criterion[@id="DocName"]/value)[1]', 'nvarchar(max)');
    
    select @val;
    

    SQL フィドルのデモ




    1. TOPおよびORDERBYSQLエラー

    2. 30日のビンの行数を数える

    3. Oracle Database BLOBからJavaのInputStreamへ?

    4. SQLServerの@@TEXTSIZEとは何ですか?