在SQL中将字符串转换为HEX

Cla*_*ule 11 sql informix hex

我正在寻找一种方法将真正的字符串转换为SQL中的十六进制值.我正在寻找一些Informix友好的东西,但我显然更喜欢数据库中立的东西

这是我现在使用的选择:

SELECT SomeStringColumn from SomeTable
Run Code Online (Sandbox Code Playgroud)

这是我想要使用的选择:来自SomeTable的SELECT hex(SomeStringColumn)

不幸的是没有什么是那么简单... Informix给了我那条消息: 字符到数字转换错误

任何的想法?

ste*_*yer 19

你可以使用Cast和fn_varbintohexstr吗?

SELECT master.dbo.fn_varbintohexstr(CAST(SomeStringColumn AS varbinary)) 
FROM SomeTable
Run Code Online (Sandbox Code Playgroud)

我不确定你的数据库系统中是否有这个功能,它在MS-SQL中.

我只是在我的一个表上的SQL服务器MMC中尝试过它:

SELECT     master.dbo.fn_varbintohexstr(CAST(Addr1 AS VARBINARY)) AS Expr1
FROM         Customer
Run Code Online (Sandbox Code Playgroud)

这按预期工作.可能我所知道的MS-SQL上的master.dbo.fn_varbintohexstr,可能类似于informix hex()函数,所以可能尝试:

SELECT     hex(CAST(Addr1 AS VARBINARY)) AS Expr1
FROM         Customer
Run Code Online (Sandbox Code Playgroud)

  • 我想你回答了他要问的问题.+1 (2认同)
  • 即使在MSSQL中,也不支持/记录此功能.如果您需要与未来版本的MS SQL服务器兼容,则不建议使用此功能 (2认同)

jha*_*amm 9

以下在 Sql 2005 中有效。

select convert(varbinary, SomeStringColumn) from SomeTable
Run Code Online (Sandbox Code Playgroud)