您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何对所有列进行md5而不管类型

如何对所有列进行md5而不管类型

为此,还有很多更优雅的解决方案。

在Postgres中,SELECT允许使用表名in ,其类型为ROW。如果将其强制转换为typeTEXT,则它会将所有列串联在一起,而这些字符串实际上是JSON。

有了这个,您可以获取md5所有列,如下所示:

SELECT md5(mytable::TEXT)
FROM mytable

如果只想使用某些列,请使用ROW构造函数并将其强制转换为TEXT

SELECT md5(ROW(col1, col2, col3)::TEXT)
FROM mytable

关于此解决方案的另一个不错的特性是,与空字符串相比,它md5会有所不同NULL

强制性SQLFiddle

其他 2022/1/1 18:46:12 有469人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶