如何在MySQL中将varbinary转换为char/varchar

29

我有一个varbinary类型的字段,它已经被填充了。现在我该如何将varbinary转换为varchar以便在字段中使用数据进行其他用途。我使用的是MySQL版本5.10。

3个回答

46

晚回答...

你可以使用CAST或CONVERT来实现如下:

CAST(foo AS CHAR(100))
CONVERT(foo, CHAR(100))

支持的类型(5.5)为:

BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]

不能直接将其转换为varchar。
2008年有一项未解决的MySQL Bug,似乎没有人关注它,而且非常烦人。


1
@gbn,convertCHAR 的默认编码是什么?另外,现在 Oracle 接管了 MySQL,人们是否更加关注修复这个漏洞? - Pacerier
1
@Pacerier:抱歉,我现在不活跃于MySQL。 - gbn

28

在类似情况下对我有效的MySQL语法是:

select cast(binaryColumn as CHAR) from table_name

1
你可以使用类型转换操作:
select cast(column_name as char)
  from table_name

2
根据上述评论,您无法将类型转换为 varchar。 - Lukos
但是您可以根据上面的其他评论使用 char - Bramus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接