duanqi6007 2016-05-03 10:45
浏览 487
已采纳

SQL选择IN(数组)仅在找到数组中的第一项时返回的位置

SQL in 'services' column I have an arrays values like e.g.: 2,19,72,5,46,45,38,40,36,27,29

For selecting this row from DB I'm using this query:

SELECT * FROM myTable WHERE `services` IN (2,19)

And it is working OK. But, when I do changes in 'IN' closure like below:

SELECT * FROM myTable WHERE `services` IN (19)

it always returns 0 rows. The query is searching only for the first value in column. Why this is happening and how can I change my query to work it correctly?

Thanks in advance.

  • 写回答

4条回答 默认 最新

  • dongtao1262 2016-05-04 10:58
    关注

    Update your query like : If you search only single value...

    SELECT * FROM myTable WHERE concat(',',`services`,',') like '%19%'
    

    But if you want to search 19,2 or 2,40 or 40,19 it will not work. for that case you need to write query dynamically

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分