将blob转换为varchar在mysql中返回null

时间:2017-04-27 10:42:39

标签: mysql sql blob

我的数据库表中有一个数据类型为MEDIUMBLOB的字段。 如何在SQL中使用SELECT查询将内容作为文本/字符串获取。 内容的MIMETYPEBinary/Image

实际上我正在上传txt文件并插入表格。

上传english文本文件时没有问题。但是当我上传malayalam文本文件时,它会返回空值。

我试过这个

SELECT CONVERT(uploaded_file USING utf8) AS content FROM table_name

SELECT CAST(uploaded_file AS CHAR(10000) CHARACTER SET utf8) AS content FROM table_name

我得到null

如何获取malayalam文字?

提前致谢

1 个答案:

答案 0 :(得分:0)

我在这里写了一些代码 - http://rextester.com/CHYY75133

看一看,它会创建,填充和读取表格。结果是可预测的 - 我们有一些字节,并得到“'രാരാേഷ' (使用utf8编码)。

-- Script was generated by Devart dbForge Studio for MySQL, Version 7.2.58.0
SET NAMES 'utf8';

DROP TABLE IF EXISTS table1;
CREATE TABLE table1 (
  id INT(11) NOT NULL AUTO_INCREMENT,
  st VARCHAR(255) DEFAULT NULL,
  bl MEDIUMBLOB DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

INSERT INTO table1 VALUES
(1, 'hello', x'E0B4B0E0B4BEE0B495E0B587E0B4B7E0B58D'); -- രാകേഷ്

SELECT bl, CAST(bl AS CHAR(1000) CHARACTER SET utf8) FROM table1;