簡體   English   中英

MySql:使用IN運算符的Select語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM