[英]MySql : Select statement using IN operator
我有一張表,其中包含多個字段,並且一個字段具有3個逗號分隔值
Column 1 Column 2
1 1,2,3
2 2,3,4
3 6,7,8
現在,我想運行一個SQL查詢,該查詢向我獲取具有我作為輸入發送的值的行。
像上面的示例一樣,如果我將值2發送為函數的輸入,則它必須返回1st 2行。
我嘗試使用IN運算符,但失敗了,因為它不獲取包含我作為CSV的第二或第三值發送的輸入的行。 在此示例中,它不返回第一行。
有人可以幫我這個忙嗎?
在此先感謝,阿卡什
您可以使用FIND_IN_SET()
:
SELECT column1 FROM table WHERE FIND_IN_SET('2', column2) != 0
IN
運算符基本上是許多OR的快捷方式:
WHERE column2 = IN ('a', 'b', 'c')
給出與以下結果相同的結果
WHERE (column2 = 'a' OR column2 = 'b' OR column2 = 'c')
如果我正確理解了您的問題,然后嘗試-從表中選擇Column1,Column2,其中Column1 <=
干杯
您應該可以使用Like來執行此操作,例如:
SELECT * FROM tablename WHERE [Column 2] LIKE ("%2%");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.