在mysql中比较字符串无法正常工作

时间:2017-01-27 20:10:07

标签: mysql string-comparison

我想比较mysql中的字符串,但我所做的一切似乎都无法正常工作。

我有表USERS,登录/密码是varchars(128/255),里面有一条记录(见下文)

msqlrecord 我想让用户登录是quak,密码是'd08 ...',所以我创建了一些查询:

  1. SELECT d.* FROM USERS d WHERE d.password IN ('d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702'); - 无法正常工作

  2. SELECT d.* FROM USERS d WHERE d.password = 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702'; - 无法正常工作

  3. SELECT d.* FROM USERS d WHERE strcmp(d.password, 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702'); - 无效

  4. SELECT d.* FROM USERS d WHERE d.login IN ('quak'); - 工作

  5. SELECT d.* FROM USERS d WHERE d.login = 'quak'; - 工作

  6. SELECT d.* FROM USERS d WHERE strcmp(d.login, 'quak') = 0; - 工作(返回0 - 相同)

    1. 为什么查询1,2在查询4,5的位置不起作用?

    2. 为什么在查询6工作时查询3不起作用?

  7. 我的目标是让用户登录= ..和密码= ..

    文本比较为utf8 general

2 个答案:

答案 0 :(得分:0)

也许你有某种空间/特殊字符?

尝试:

.a li {
    padding:16px;
}
.b li {
    padding:6px;
}

答案 1 :(得分:0)

尝试

    SELECT * FROM USERS d WHERE password like 'd08%';