MariaDB社区

标题: 类型转换 [打印本页]

作者: liuqing84    时间: 2008-8-5 14:59
标题: 类型转换
哪位兄台知道:mysql的TINYBLOB类型和char类型能否转换?
如果能怎么转?先谢谢了
作者: kider    时间: 2008-8-7 12:00
这个问题应该是 BLOB和TEXT/varchar类型问题。

BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

BLOB列被视为二进制字符串(字节字符串)。TEXT列被视为非二进制字符串(字符字符串)。BLOB列没有字符集,并且排序和比较基于列值字节的数值值。TEXT列有一个字符集,并且根据字符集的 校对规则对值进行排序和比较。
在TEXT或BLOB列的存储或检索过程中,不存在大小写转换。
当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告。
在大多数方面,可以将BLOB列视为能够足够大的VARBINARY列。同样,可以将TEXT列视为VARCHAR列。

由此,我觉得此TINYBLOB类型和char类型两种类型是不可以转换的。如:如果你存储了一个图片、二进制的文件等到blob里,就没有办法转换成char,转换也是没有意义的...




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2