Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
散列几个字符串tsql_Sql_Sql Server_Tsql - Fatal编程技术网

散列几个字符串tsql

散列几个字符串tsql,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试创建一个独特的哈希,如下所示: SELECT CAST(HASHBYTES('SHA1', LTRIM(RTRIM(ISNULL('9',''))) + LTRIM(RTRIM(isnull('X',''))) + LTRIM(RTRIM(isnull('',''))) + LTRIM(RTRIM(isnull('Y',''))) + LTRIM(RTRIM(isnull('','')))

我正在尝试创建一个独特的哈希,如下所示:

SELECT
    CAST(HASHBYTES('SHA1', 
        LTRIM(RTRIM(ISNULL('9',''))) + 
        LTRIM(RTRIM(isnull('X',''))) + 
        LTRIM(RTRIM(isnull('',''))) + 
        LTRIM(RTRIM(isnull('Y',''))) + 
        LTRIM(RTRIM(isnull('','')))) AS VARBINARY(20))

SELECT
    CAST(HASHBYTES('SHA1', 
        LTRIM(RTRIM(isnull('9',''))) + 
        LTRIM(RTRIM(isnull('X',''))) + 
        LTRIM(RTRIM(isnull('Y',''))) + 
        LTRIM(RTRIM(isnull('',''))) + 
        LTRIM(RTRIM(isnull('','')))) AS VARBINARY(20))
不幸的是,尽管字符串不同,我最终还是得到了相同的哈希。你知道为什么吗

附言:

这就解决了上述“问题”:

SELECT  LTRIM(RTRIM(ISNULL('9', '-'))) + N',' + LTRIM(RTRIM(ISNULL('X', '-')))
        + N',' + LTRIM(RTRIM(ISNULL('', '-'))) + N',' + LTRIM(RTRIM(ISNULL('Y',
                                                              '-'))) + N','
        + LTRIM(RTRIM(ISNULL('', '-'))) ,
        CAST(HASHBYTES('SHA1',
                       LTRIM(RTRIM(ISNULL('9', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('X', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('Y', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('', '-')))) AS VARBINARY(20))

SELECT  LTRIM(RTRIM(ISNULL('9', '-'))) + N',' + LTRIM(RTRIM(ISNULL('X', '-')))
        + N',' + LTRIM(RTRIM(ISNULL('Y', '-'))) + N',' + LTRIM(RTRIM(ISNULL('',
                                                              '-'))) + N','
        + LTRIM(RTRIM(ISNULL('', '-'))) ,
        CAST(HASHBYTES('SHA1',
                       LTRIM(RTRIM(ISNULL('9', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('X', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('Y', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('', '-'))) + N','
                       + LTRIM(RTRIM(ISNULL('', '-')))) AS VARBINARY(20))

因为没有不同的标准:

    LTRIM(RTRIM(ISNULL('9',''))) + 
    LTRIM(RTRIM(isnull('X',''))) + 
    LTRIM(RTRIM(isnull('',''))) + 
    LTRIM(RTRIM(isnull('Y',''))) + 
    LTRIM(RTRIM(isnull('','')))) 

    -- is the same of

    LTRIM(RTRIM(isnull('9',''))) + 
    LTRIM(RTRIM(isnull('X',''))) + 
    LTRIM(RTRIM(isnull('Y',''))) + 
    LTRIM(RTRIM(isnull('',''))) + 
    LTRIM(RTRIM(isnull('','')))) 

    -- that is the same of

    '9XY'

因为没有不同的标准:

    LTRIM(RTRIM(ISNULL('9',''))) + 
    LTRIM(RTRIM(isnull('X',''))) + 
    LTRIM(RTRIM(isnull('',''))) + 
    LTRIM(RTRIM(isnull('Y',''))) + 
    LTRIM(RTRIM(isnull('','')))) 

    -- is the same of

    LTRIM(RTRIM(isnull('9',''))) + 
    LTRIM(RTRIM(isnull('X',''))) + 
    LTRIM(RTRIM(isnull('Y',''))) + 
    LTRIM(RTRIM(isnull('',''))) + 
    LTRIM(RTRIM(isnull('','')))) 

    -- that is the same of

    '9XY'

@csetzkorn-如果你需要区分空列,也许你应该使用某种分隔符。是的,谢谢Damien_,不信的人,这就是我要做的do@csetzkorn-所以如果你需要区分空列,也许你应该使用某种分隔符。是的,谢谢Damien_,不信的人,这就是我要做的关于这个愚蠢的问题-无法删除,因为有答案。对于这个愚蠢的问题,很抱歉-无法删除,因为有答案。