2009-12-09 53 views
16

Tôi có một trường là varbinary. Nó đã được phổ biến. Bây giờ làm thế nào để tôi chuyển đổi varbinary để varchar để tôi có thể sử dụng dữ liệu trong lĩnh vực này cho một số mục đích khác. Tôi sử dụng một phiên bản MySQL 5.10Cách chuyển đổi từ varbinary sang char/varchar trong mysql

Trả lời

1

Bạn có thể sử dụng hoạt động diễn viên:

select cast(column_name as varchar) 
    from table_name 
+1

Bạn không thể phân biệt chữ hoa theo nhận xét ở trên. – Lukos

+0

Nhưng bạn có thể sử dụng 'char' như bình luận ở trên. – Bramus

10

Cú pháp MySQL mà làm việc cho tôi trong một kịch bản tương tự như sau là:

select cast(binaryColumn as CHAR) from table_name 
25

Cuối câu trả lời ...

Bạn có thể sử dụng CAST hoặc CONVERT do đó

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

Supported types (5.5) are:

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

Bạn không thể cast để varchar trực tiếp.
an open MySQL bug from 2008 mà không ai có vẻ quan tâm và gây phiền toái gây phiền toái

+3

+1 để giải thích các vấn đề với VARCHAR –

+0

nhờ ... cú pháp đã giúp rất nhiều –

+1

@gbn, mã hóa mặc định được sử dụng cho 'CHAR' trong' chuyển đổi' là gì? Ngoài ra, bây giờ mà Oracle đã thực hiện trên MySQL, là những người chú ý nhiều hơn vào việc sửa lỗi? – Pacerier

Các vấn đề liên quan