购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.5 二进制数据类型

二进制类型是可以存放任意数据的一种类型,本节将详细讲解这些类型的使用方法。

5.5.1 二进制数据类型介绍

PostgreSQL中只有一种二进制类型:bytea类型。此数据类型允许存储二进制字符串,对应MySQL和Oracle中的blob类型。Oracle中的raw类型也可以用该类型取代。

二进制字符串是一个字节序列。二进制字符串和普通字符串的区别有两个:第一,二进制字符串完全可以存储字节零值,以及其他“不可打印”的字节(定义在32到126范围之外的字节)。普通字符串不允许字节零值,而且也不允许存储那些不符合选定的字符集编码的非法字节值或者字节序列。第二,对二进制字符串的处理实际上就是对字节的处理,而对字符串的处理,则取决于区域设置。简单说,二进制字符串适于存储那些程序员认为是“原始字节”的数据,比如图片内容,而字符串则适合存储文本。

5.5.2 二进制数据类型转义表示

既然二进制字符串中的部分字符为不可打印字符,那么如何在SQL语句的文本串中输入bytea数值呢?答案是使用转义。通常来说,要转义一个字节值,需要把它的数值转换成对应的三位八进制数,并且加两个前导反斜杠。有些八进制数值可以加一个反斜杠直接转义,比如单引号和反斜杠本身,见表5-11。

表5-11 二进制字符串的转义表示方法

5.5.3 二进制数据类型的函数

二进制数据类型的函数见表5-12。

表5-12 二进制字符串函数和操作符 ibRX4/N5iiDC5+koOngj7ANCocYbGf2wLlKJNFFSpB7pWZcMxrB/mGC6nXCASzys

点击中间区域
呼出菜单
上一章
目录
下一章
×