Retrieve varbinary value as BASE64 in MSSQL

前端 未结 4 928
旧巷少年郎
旧巷少年郎 2020-12-10 13:46

I\'m looking for a way for retrieving Entity Data Model (EDM) from __MigrationHistory table using only T-SQL (so anyone, using Microsoft SQL Se

4条回答
  •  情深已故
    2020-12-10 14:25

    Necromancing.
    You can also use for JSON PATH similar to how for XML PATH is used:

    SELECT 
         T_AP_Dokumente.DK_UID 
        ,T_AP_Dokumente.DK_Thumbnail 
        ,tBase64.JSON_Thumbnail 
        ,NULLIF(T.XML_Thumbnail, '') AS base64  
    
    
        ,COMPRESS(T_AP_Dokumente.DK_Thumbnail) AS gzipped 
        ,DATALENGTH(COMPRESS(T_AP_Dokumente.DK_Thumbnail)) AS dlt_datalength_gzipped 
        ,DATALENGTH(T_AP_Dokumente.DK_Thumbnail) AS dlt_datalength 
        ,DATALENGTH(DECOMPRESS(COMPRESS(T_AP_Dokumente.DK_Thumbnail))) AS should_equal_dlt_datalength 
    FROM T_AP_Dokumente 
    
    CROSS APPLY 
    (
        SELECT T_AP_Dokumente.DK_Thumbnail AS '*' FOR XML PATH('')
    ) AS T(XML_Thumbnail)
    
    CROSS APPLY 
    (
        SELECT * FROM 
        OPENJSON 
        (
            (
                SELECT T_AP_Dokumente.DK_Thumbnail AS JSON_Thumbnail 
                FOR JSON PATH 
            )
        ) WITH(JSON_Thumbnail varchar(MAX)) AS t 
    ) AS tBase64 
    

提交回复
热议问题