跳到主要内容

Blob 函数

本节介绍用于检查和操作 BLOB的函数和运算符。

函数描述
[`arg1
base64(blob)to_base64 的别名。
decode(blob)blob 转换为 VARCHAR。若 blob 不是合法 UTF-8,则转换失败。
encode(string)string 转换为 BLOB。UTF-8 字符会转换为字面编码。
from_base64(string)将 base64 编码的 string 转换为字符字符串(BLOB)。
from_binary(value)unbin 的别名。
from_hex(value)unhex 的别名。
hex(blob)使用十六进制编码将 blob 转换为 VARCHAR
md5(blob)VARCHAR 返回 blob 的 MD5 哈希。
md5_number(blob)HUGEINT 返回 blob 的 MD5 哈希。
octet_length(blob)blob 的字节数。
read_blob(source)source(文件名、文件名列表或 glob 模式)的内容作为 BLOB 返回。更多信息参见 read_blob 指南
repeat(blob, count)blob 重复 count 次。
sha1(blob)返回包含 blob 的 SHA-1 哈希的 VARCHAR
sha256(blob)返回包含 blob 的 SHA-256 哈希的 VARCHAR
to_base64(blob)blob 转换为 base64 编码字符串。
to_hex(blob)hex 的别名。
unbin(value)value 从二进制表示转换为 blob。
unhex(value)value 从十六进制表示转换为 blob。

arg1 || arg2

| 描述 | 拼接两个字符串、列表或 blob。任一输入为 NULL 时结果为 NULL。另见 concat(arg1, arg2, ...)list_concat(list1, list2, ...)。 | | 示例 1 | 'Duck' || 'DB' | | 结果 | Goose | | 示例 2 | [1, 2, 3] || [4, 5, 6] | | 结果 | [1, 2, 3, 4, 5, 6] | | 示例 3 | '\xAA'::BLOB || '\xBB'::BLOB | | 结果 | \xAA\xBB |

decode(blob)

| 描述 | 将 blob 转换为 VARCHAR。若 blob 不是合法 UTF-8,则转换失败。 | | 示例 | decode('\xC3\xBC'::BLOB) | | 结果 | ü |

encode(string)

| 描述 | 将 string 转换为 BLOB。UTF-8 字符会转换为字面编码。 | | 示例 | encode('my_string_with_ü') | | 结果 | my_string_with_\xC3\xBC |

from_base64(string)

| 描述 | 将 base64 编码的 string 转换为字符字符串(BLOB)。 | | 示例 | from_base64('QQ==') | | 结果 | A |

hex(blob)

| 描述 | 使用十六进制编码将 blob 转换为 VARCHAR。 | | 示例 | hex('\xAA\xBB'::BLOB) | | 结果 | AABB | | 别名 | to_hex |

md5(blob)

| 描述 | 以 VARCHAR 返回 blob 的 MD5 哈希。 | | 示例 | md5('\xAA\xBB'::BLOB) | | 结果 | 58cea1f6b2b06520613e09af90dc1c47 |

md5_number(blob)

| 描述 | 以 HUGEINT 返回 blob 的 MD5 哈希。 | | 示例 | md5_number('\xAA\xBB'::BLOB) | | 结果 | 94525045605907259200829535064523132504 |

octet_length(blob)

| 描述 | blob 的字节数。 | | 示例 | octet_length('\xAA\xBB'::BLOB) | | 结果 | 2 |

read_blob(source)

| 描述 | 将 source(文件名、文件名列表或 glob 模式)的内容作为 BLOB 返回。更多信息参见 read_blob 指南。 | | 示例 | read_blob('hello.bin') | | 结果 | hello\x0A |

repeat(blob, count)

| 描述 | 将 blob 重复 count 次。 | | 示例 | repeat('\xAA\xBB'::BLOB, 5) | | 结果 | \xAA\xBB\xAA\xBB\xAA\xBB\xAA\xBB\xAA\xBB |

sha1(blob)

| 描述 | 返回包含 blob 的 SHA-1 哈希的 VARCHAR。 | | 示例 | sha1('\xAA\xBB'::BLOB) | | 结果 | 65b1e351a6cbfeb41c927222bc9ef53aad3396b0 |

sha256(blob)

| 描述 | 返回包含 blob 的 SHA-256 哈希的 VARCHAR。 | | 示例 | sha256('\xAA\xBB'::BLOB) | | 结果 | d798d1fac6bd4bb1c11f50312760351013379a0ab6f0a8c0af8a506b96b2525a |

to_base64(blob)

| 描述 | 将 blob 转换为 base64 编码字符串。 | | 示例 | to_base64('A'::BLOB) | | 结果 | QQ== | | 别名 | base64 |

unbin(value)

| 描述 | 将 value 从二进制表示转换为 blob。 | | 示例 | unbin('0110') | | 结果 | \x06 | | 别名 | from_binary |

unhex(value)

| 描述 | 将 value 从十六进制表示转换为 blob。 | | 示例 | unhex('2A') | | 结果 | * | | 别名 | from_hex |