Wyszukaj kilka słów w wierszu w SQL Server

0

Pytanie

Mam kolumnę tekstu расшифровок (wiersz) w tabeli programu SQL Server, i muszę określić, czy któraś z pozycji numer ubezpieczenia społecznego (w tej kolumnie nie ma cyfr, tylko tekst, więc muszę podać cyfry). Innymi słowy, muszę sprawdzić, czy któraś z wierszy jakąś kombinację z dziewięciu cyfr z dziesięciu możliwych cyfr (jedna, dwie, trzy, cztery, pięć, sześć, siedem, osiem, dziewięć, zero). Mogę być w porządku z definicji kombinacji wszystkich czterech cyfr (cztery ostatnie numery ubezpieczenia społecznego).

Próbowałem Like '%one%' or Like '%two%' i tak dalej, ale to określa tylko pojedyncze słowa. Muszę znaleźć co najmniej wszystkie cztery w każdym razie w jednej linii.

search sql sql-server tsql
2021-11-24 02:41:49
1

Najlepsza odpowiedź

0

Można użyć sumowane EXISTS za pomocą zbudowanego w tabeli słów

SELECT *
FROM YourTable t
WHERE EXISTS (SELECT 1
    FROM (VALUES
        ('zero'),
        ('one'),
        ('two'),
        ('three'),
        ('four'),
        ('five'),
        ('six'),
        ('seven'),
        ('eight'),
        ('nine')
    ) v(word)
    WHERE t.YourColumn LIKE '%' + v.word + '%'
    HAVING COUNT(*) >= 4
);

Mógłbyś się zmienić >= 4 Dla = 9 aby uzyskać dokładne dopasowanie ilości słów

2021-11-24 09:58:35

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................