将ntext/text转换为hex/binary/varbinary

swe*_*web 4 sql-server

我怎样才能在SQL服务器上获得此查询?它导致错误:这是MySQL版本

SELECT HEX(c1) FROM t1;
Run Code Online (Sandbox Code Playgroud)

这个简单的例子工作:

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT CAST('example data' AS VARBINARY) AS Body2
Run Code Online (Sandbox Code Playgroud)

但是这个sql dosnt工作.

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 10 [NewsID]
      ,[upTitle]
      ,[Title]
      ,[Summary]
      ,CAST(Body AS VARBINARY) AS Body2
      ,[LargePic]
      ,[PublishDate]
  FROM [Upgrade_News].[dbo].[News_News]
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误

Msg 529, Level 16, State 2, Line 6
Explicit conversion from data type ntext to varbinary is not allowed.
Run Code Online (Sandbox Code Playgroud)
  1. 我想把hexed列作为值.我怎么能在SQL Server上这样做?
  2. SQL服务器上HEX和UNHEX数据的正确功能是什么?

我需要ntext在select上转换为HEX数据.它不是整数或短字符串.

Ano*_*non 7

有没有直接的转换,从ntextvarbinary,所以转换成nvarchar(max)第一.

SELECT CAST(CAST(Body AS NVARCHAR(MAX)) AS VARBINARY) AS Body2
Run Code Online (Sandbox Code Playgroud)

ntext不推荐使用SQL2005.尽可能避免使用它. https://msdn.microsoft.com/en-us/library/ms178158%28v=sql.90%29.aspx