如何在 SQL Server 上获取此查询?它会导致错误: 这是MySQL版本
SELECT HEX(c1) FROM t1;
这个简单的示例工作:
/****** Script for SelectTopNRows command from SSMS ******/
SELECT CAST('example data' AS VARBINARY) AS Body2
但是这个sql不起作用。
/****** 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.
- 我只想将十六进制列作为值。我如何在 SQL Server 上执行此操作?
- SQL 上的十六进制和非十六进制数据的正确函数是什么 服务器?
我需要在选择时将 ntext
转换为十六进制数据。它不是整数或短字符串。
最佳答案
没有从 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
关于sql-server - 将 ntext/text 转换为 hex/binary/varbinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29034623/