【发布时间】:2014-10-26 22:58:46
【问题描述】:
在 mysql 上执行 sha1() 时,我得到不同的结果,具体取决于字符串的连接方式。
加号查询
SELECT SHA1("test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9")
产生哈希c1dfd96eea8cc2b62785275bca38ac261256e278
使用CONCAT()查询
SELECT SHA1(CONCAT("test", "6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9"))
产生哈希17b80b7eb824d0796c6203a231ac2b2d5f41f949
为什么 MySQL 会那样做?
查询在 PHPMyadmin 中执行的位置
【问题讨论】:
-
刚刚做了这个小测试:
set @tester = "test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9"; select @tester;,结果是 6...与 concat btw 的结果非常不同....cheers ;) -
我明白了,谢谢 :) 把它作为答案发布,它具有很好的自学效果 :P 正在与 C# 混淆。
-
@Kimmax...当我有这样的疑问时,我总是做一个简单的测试,你可以将它们应用于很多案例...干杯:)
标签: mysql hash operators sha1 concat