Łączenie "LIKE" I " IN " dla SQL Server [duplikat]
To pytanie ma już odpowiedź tutaj:
- czy istnieje kombinacja "LIKE" I " IN " w SQL? 21 odpowiedzi
Czy możliwe jest połączenie LIKE
i IN
w zapytaniu SQL Server?
Tak, że to zapytanie
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
Znajduje dowolne z tych możliwych dopasowań:
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
Itd...
6 answers
Efektywnie, Instrukcja IN tworzy serię instrukcji OR... so
SELECT * FROM table WHERE column IN (1, 2, 3)
Jest skutecznie
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3
I niestety, to jest droga, którą będziesz musiał obrać ze swoimi podobnymi wypowiedziami
SELECT * FROM table
WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-08 07:55:27
Wiem, że to stare, ale mam coś w rodzaju rozwiązania roboczego
SELECT Tbla.* FROM Tbla
INNER JOIN Tblb ON
Tblb.col1 Like '%'+Tbla.Col2+'%'
Możesz rozszerzyć go dalej za pomocą klauzuli where itp. Odpowiedziałam na to tylko dlatego, że tego właśnie szukałem i musiałem wymyślić, jak to zrobić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-04 16:41:43
Inną opcją byłoby użycie czegoś takiego
SELECT *
FROM table t INNER JOIN
(
SELECT 'Text%' Col
UNION SELECT 'Link%'
UNION SELECT 'Hello%'
UNION SELECT '%World%'
) List ON t.COLUMN LIKE List.Col
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-08 08:07:04
Nie, musisz użyć OR
, aby połączyć swojeLIKE
wypowiedzi:
SELECT
*
FROM
table
WHERE
column LIKE 'Text%' OR
column LIKE 'Link%' OR
column LIKE 'Hello%' OR
column LIKE '%World%'
Czy oglądałeś Wyszukiwanie pełnotekstowe ?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-24 05:48:30
Potrzebujesz wielu podobnych klauzul połączonych przez OR.
SELECT * FROM table WHERE
column LIKE 'Text%' OR
column LIKE 'Link%' OR
column LIKE 'Hello%' OR
column LIKE '%World%' OR
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-08 07:53:32
Nie, MSSQL nie zezwala na takie zapytania. Powinieneś użyć col LIKE '...' OR col LIKE '...'
itp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-08 07:54:35