mysql in操作符_mysql使用in操作符遇到的困惑

mysql使用in操作符遇到的困惑2017-09-27 21:56

今天在查询数据的时候,真是把小编给搞郁闷了,反反复复的检查了很久,才找到问题所在。

表order有两个字段,分别是o_id和o_orderidcode。

o_id字段是int数据类型。

o_orderidcode是varchar数据类型。

表里面有如下数据。

+------+-------------------+

| o_id | o_orderid         |

+------+-------------------+

|    1 | 52670500078242977 |

|    2 | 52687050458242977 |

|    3 | 52102368671577109 |

|    4 | 52687050458242977 |

|    5 | 52102368671577109 |

+------+-------------------+

5 rows in set (0.00 sec)

我们一般要查找id包含“1、4、5”的数据就会用到in (1,4,5)

那么要查找o_orderidcode包含“52670500078242977”和“52102368671577109”的数据时,查询语句应该怎么写呢?

select * from order where o_orderid in (52670500078242977,52102368671577109)

是不是会写成上面这样?

但是这样写却得不到我们想要的结果,只会返回“52670500078242977”的记录。

应该改成这样

select * from order where o_orderid in ("52670500078242977","52102368671577109")

要将被查询的数据加上引号才行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值