读取错误地插入到 varchar 列中的十六进制字符串

Reading hex string incorrectly inserted in varchar column

由于一个愚蠢的代码错误,我有一些十六进制字符串(例如 0x8F276800EB0DA970)被插入到 varchar 列中但没有使用单引号。也就是说,我错误地执行了

Insert Into TableA (ColumnA) Values (0x8F276800EB0DA970) 而不是

Insert Into TableA (ColumnA) Values ('0x8F276800EB0DA970') .

当我查看 ColumnA 的实际内容时,它看起来像是乱码(例如 'h ecpY3&*«<%)。

一定有办法将 ColumnA 的内容读回原来的 0x8F276800EB0DA970 字符串,但我还没弄明白。我尝试使用 Convert 但它不起作用。

有人知道该怎么做吗?谢谢!

将其转换回 varbinary,然后使用 convert with style 1 转换回 varchar

convert(varchar(20), convert(varbinary(20), col), 1)