我想在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)
为什么结果不同?请帮忙.这两个问题不一样吗?
SELECT SHA1(CONCAT('a=', p.ItemID)) FROM Items p WHERE ItemID = 412
Run Code Online (Sandbox Code Playgroud)
试试这个:
SELECT SHA1(CONCAT('a=',p.ItemID)) FROM Items p WHERE p.ItemID = 412
Run Code Online (Sandbox Code Playgroud)
有关CONCAT()的更多信息,请参阅MySQL手册中的此页面,这与加法运算符+不同.这就是您的结果不同的原因.