首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Server到雪花字符串值的比较

从Server到雪花字符串值的比较
EN

Stack Overflow用户
提问于 2022-05-18 16:28:05
回答 1查看 247关注 0票数 0

我试图比较雪花和Server之间的字符串值。我有一个比较UNICODE字符的问题。Server MD5哈希算法产生与雪花不同的结果。

为了比较目的,什么是解决这种差异的最佳方法?

示例代码

SQL Server

代码语言:javascript
复制
/*  SQL SERVER  
        LOWER and CONVERT are used to produce the exact HASH format as Snowflake
*/
SELECT 
LOWER(
    CONVERT(VARCHAR(1000), 
        HASHBYTES('MD5', CAST('md5_alg“test”' AS VARCHAR(50)))
    , 2)
) AS mismatch;
SELECT 
LOWER(
    CONVERT(VARCHAR(1000), 
        HASHBYTES('MD5', CAST('md5_algtest' AS VARCHAR(50)))
    , 2)
) AS matches;

雪花

代码语言:javascript
复制
/*  SNOWFLAKE   */
SELECT md5('md5_alg“test”') AS mismatch;
SELECT md5('md5_algtest') AS match;
EN

回答 1

Stack Overflow用户

发布于 2022-05-23 15:10:30

对于SQLServer2019,下面的解决方案适用于我。

代码语言:javascript
复制
SELECT 
LOWER(
    CONVERT(VARCHAR(1000), 
        HASHBYTES('MD5', CAST('md5_alg“test”' AS VARCHAR(50)))
    , 2)
) AS mismatch,
LOWER(
    CONVERT(VARCHAR(1000), 
        HASHBYTES('MD5', CAST('md5_alg“test”' AS VARCHAR(50)) COLLATE Latin1_General_100_CI_AS_SC_UTF8)
    , 2)
) AS match

https://techcommunity.microsoft.com/t5/sql-server-blog/introducing-utf-8-support-for-sql-server/ba-p/734928

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72292837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档