簡體   English   中英

Select * From Table Where Name in like(通配符)

[英]Select * From Table Where Name in like (wildcards)

是否可以組合 SQL 語句,例如

SELECT * FROM X WHERE Y LIKE '%a%' OR Y LIKE '%b%' OR Y LIKE '%c%' OR Y LIKE '%d%'

SELECT * FROM X WHERE Y IN ('a', 'b', 'c', 'd')

所以我不必像現在這樣寫一個大聲明:

IF NOT EXISTS(SELECT * FROM X WHERE Y LIKE '%a%' OR Y LIKE '%b%' OR Y LIKE '%c%' OR Y LIKE '%d%')
    BEGIN
        /* code */
    END

使用像SELECT * FROM X WHERE Y IN LIKE ('%a%', '%b%', etc..)這樣的東西會非常好SELECT * FROM X WHERE Y IN LIKE ('%a%', '%b%', etc..)感謝所有幫助和建議,謝謝。

請使用以下代碼解決您的問題,如果仍有問題,請嘗試讓我知道。

SELECT * FROM X WHERE Y LIKE '%[a-d]%'

如果您的數據庫支持 RegEx,則可以使用它。 例如:

SELECT * FROM X WHERE Y SIMILAR TO '%(a|b|c|d)%'在 PostgreSQL 中,和

SELECT * FROM X WHERE Y REGEXP 'a|b|c|d'在 MySQL 中。

LIKE '%[ad]%'將無法工作,因為LIKE S IN大多數數據庫不接受正則表達式模式。 這將只期望字符串中某處的文字文本[ad] 每個數據庫如何解釋正則表達式(或本機模式)有很大差異。 所以你需要根據你的數據庫定制這些東西。 例如,以下內容在 PostgreSQL 中不起作用

SELECT * FROM X WHERE Y SIMILAR TO 'a|b|c|d'

因為 PostgreSQL 會期望整個字符串為 'a'、'b'、'c' 或 'd'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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