如何在 SQL Server 2019 中将图像的内容转换为文本

问题描述 投票:0回答:1

我正在查询数据库,有效负载数据存储在 Microsoft SQL Server 2019 的图像列中。 我想阅读此列的实际文本值。

我写了以下查询:

SELECT CAST(PAYLOAD AS NVARCHAR(MAX)) FROM MY_TABLE

它给了我错误: 不允许从数据类型 image 到 nvarchar(max) 的显式转换。

它似乎不起作用,我正在寻找一种方法将此值转换为选择查询中的文本。

sql sql-server image nvarchar
1个回答
0
投票

您可以使用双重转换:

SELECT CONVERT(NVARCHAR(MAX), CAST(PAYLOAD AS VARBINARY(MAX))) AS PAYLOAD_TEXT FROM MY_TABLE

整个例子:

-- Create sample database
CREATE DATABASE img
GO

-- Create sample table with image type
CREATE TABLE MY_TABLE (
PAYLOAD IMAGE
)
GO

-- An example value as image
INSERT INTO MY_TABLE(PAYLOAD)
VALUES(0xFF)
GO

--Resolution for your problem
SELECT CONVERT(NVARCHAR(MAX), CAST(PAYLOAD AS VARBINARY(MAX))) AS PAYLOAD_TEXT FROM MY_TABLE

注意:图像类型已弃用。

© www.soinside.com 2019 - 2024. All rights reserved.