首頁  >  問答  >  主體

mysql - 如果一张表里有这么两行数据,数据中某一字段值为 10,100跟 100,99 时,如何找到值里有10的那一行?

如果只用sql语句是可以行的吗?

巴扎黑巴扎黑2743 天前839

全部回覆(5)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 14:41:22

    雷雷

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 14:41:22

    不太明白你的問題,按照我的理解不就是簡單的select * from test where id = 10。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 14:41:22

    使用模糊配對:select * from test where column like "%10%"
    PS:感覺這樣的需求有些奇怪,資料庫設計是否不合理。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:41:22

    從題意上看,解決方法可以是
    自訂函數,切分字段用的,然後再判斷,
    1.自訂函數,待補
    2.查詢語句
    select * from table where 1=hasTen(column)

    粗暴妥協一點的做法
    select * from table where column like '10,%'
    ||
    select * from table where column like '%,10,%'
    ||
    select * from table where column like '%,10'

    如果能夠保證字段一定是a,b的形式或許會好解決一點

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:41:22

    參考一下:select * from test where concat(',', column, ',') like "%,10,%"

    回覆
    0
  • 取消回覆