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

2019 年 9 月 3 日
 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

这是啥情况?

2280 次点击
所在节点    问与答
6 条回复
xiaoyanbot
2019 年 9 月 3 日
啥情况
chenset
2019 年 9 月 3 日
0123abcd
0123hqy
123
123-456

这些值转为 int 都是 123.

where 123 = 123

我猜的
chenset
2019 年 9 月 3 日
行为类似 php 的 string 转 int
wd
2019 年 9 月 3 日
所以说别用 mysql 了
msg7086
2019 年 9 月 4 日
是把字符串转成数字后比较,不是 like。
magicnobob
2020 年 11 月 14 日

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

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

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

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

© 2021 V2EX