V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoyanbot
V2EX  ›  问与答

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

  •  
  •   xiaoyanbot · 2019-09-03 22:01:55 +08:00 · 1101 次点击
    这是一个创建于 749 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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
    

    这是啥情况?

    6 条回复    2020-11-14 10:40:59 +08:00
    xiaoyanbot
        1
    xiaoyanbot   2019-09-03 22:03:28 +08:00
    啥情况
    chenset
        2
    chenset   2019-09-03 22:09:05 +08:00
    0123abcd
    0123hqy
    123
    123-456

    这些值转为 int 都是 123.

    where 123 = 123

    我猜的
    chenset
        3
    chenset   2019-09-03 22:13:27 +08:00
    行为类似 php 的 string 转 int
    wd
        4
    wd   2019-09-03 22:17:03 +08:00 via iPhone
    所以说别用 mysql 了
    msg7086
        5
    msg7086   2019-09-04 02:59:07 +08:00
    是把字符串转成数字后比较,不是 like。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   905 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:29 · PVG 03:29 · LAX 12:29 · JFK 15:29
    ♥ Do have faith in what you're doing.