跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

MD5

以 32 个小写十六进制字符的形式返回字符串的 MD5 摘要。在 StackQL v1.0 及更高版本中可用。

另请参阅:
[SELECT] [ 拼接 ]


语法​

SELECT MD5(expression) FROM <multipartIdentifier>;

参数​

expression
字符串,或被强制转换为文本的值。参数为 NULL 时返回 NULL。

返回值​

返回 32 个字符的小写十六进制字符串。

MD5 用于生成指纹和变化检测。它不是密码或安全原语。在 PostgreSQL 后端上,使用数据库自带的 md5 函数。


示例​

为派生值生成指纹​

变量作为带类型的值代入,整数被转换为文本并与后缀拼接,然后对转为小写的结果计算摘要。相同的输入始终产生相同的 32 个字符的十六进制字符串,因此该值可用作稳定的键。

SET some_id = 42;
SET suffix = 'East';

SELECT md5(lower(CONVERT($some_id, TEXT) || '-' || $suffix)) AS digest;

检测配置变化​

对序列化的 JSON 列进行哈希,可得到一个便于存储并在多次运行之间比较的短值。摘要与上次运行不同的存储桶,其 IAM 配置已发生变化,无需存储或比对整个文档。

SELECT name, md5(json_extract(iamConfiguration, '$')) AS iam_digest
FROM google.storage.buckets
WHERE project = 'stackql-demo';