SQL 语句的请教 , varchar 字段 where 条件后面 123 带不带引号, 等号能变成 LIKE ?

2019-09-03 22:01:55 +08:00
 xiaoyanbot

MySQL 5.6

username 是 varchar 类型的,username 有很多行。

当查询:

SELECT username FROM member WHERE username = 123

出来了结果:

0123abcd
0123hqy
123
123-456

======================

当查询:

SELECT username FROM member WHERE username = '123' 

出来的就是预期的那个

123

这是啥情况?

1597 次点击
所在节点    问与答
6 条回复
xiaoyanbot
2019-09-03 22:03:28 +08:00
啥情况
chenset
2019-09-03 22:09:05 +08:00
0123abcd
0123hqy
123
123-456

这些值转为 int 都是 123.

where 123 = 123

我猜的
chenset
2019-09-03 22:13:27 +08:00
行为类似 php 的 string 转 int
wd
2019-09-03 22:17:03 +08:00
所以说别用 mysql 了
msg7086
2019-09-04 02:59:07 +08:00
是把字符串转成数字后比较,不是 like。
magicnobob
2020-11-14 10:40:59 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/597675

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX