如何在SQL服务器上获取此查询?它会导致错误: 这是MySQL版本
SELECT HEX(c1) FROM t1;
这个简单的例子工作:
/****** Script for SelectTopNRows command from SSMS ******/
SELECT CAST('example data' AS VARBINARY) AS Body2
但是这个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]
这给了我这个错误
Msg 529, Level 16, State 2, Line 6
Explicit conversion from data type ntext to varbinary is not allowed.
我需要在select上将ntext
转换为HEX数据。它不是整数或短字符串。
答案 0 :(得分:7)
没有从ntext
直接转换为varbinary
,因此请先转换为nvarchar(max)
。
SELECT CAST(CAST(Body AS NVARCHAR(MAX)) AS VARBINARY) AS Body2
ntext
已被SQL2005弃用。尽可能避免使用它。
https://msdn.microsoft.com/en-us/library/ms178158%28v=sql.90%29.aspx