在MySQL中哈希

sql*_*ild 0 php mysql hash

我想在mysql中散列一些文本以及表列的值.我这样做但它给出了与我期望的比较不同的价值.

SELECT SHA1('a='+p.ItemID) FROM Items p WHERE p.ItemID = 412
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了一些不同的结果,但我需要以下查询产生的结果:

SELECT SHA1('a=412')
Run Code Online (Sandbox Code Playgroud)

为什么结果不同?请帮忙.这两个问题不一样吗?

use*_*254 5

SELECT SHA1(CONCAT('a=', p.ItemID)) FROM Items p WHERE ItemID = 412
Run Code Online (Sandbox Code Playgroud)


mid*_*dus 5

试试这个:

SELECT SHA1(CONCAT('a=',p.ItemID)) FROM Items p WHERE p.ItemID = 412
Run Code Online (Sandbox Code Playgroud)

有关CONCAT()的更多信息,请参阅MySQL手册中的此页面,这与加法运算符+不同.这就是您的结果不同的原因.