SQL Server'da bir dizede birden çok sözcük arama

0

Soru

SQL Server'da bir tabloda bir metin transkriptleri (dize) sütunum var ve kayıtlardan herhangi birinin bir sosyal güvenlik numarası içerip içermediğini belirlemem gerekiyor (bu sütunda basamak yok, yalnızca metin, bu yüzden rakamları hecelemem gerekiyor). Başka bir deyişle, dizelerden herhangi birinin on olası basamaktan (bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz, sıfır) dokuz basamaklı bir kombinasyon içerip içermediğini kontrol etmem gerekiyor. Herhangi bir dört hanenin (sosyal güvenlik numarasının son dördü) bir kombinasyonunu tanımlamakta sorun olmayabilir.

Denedim Like '%one%' or Like '%two%' ve böylece, ama bu sadece tek kelimeleri tanımlar. Dört herhangi en azından aynı dize herhangi bir sonuç bulmak lazım.

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

En iyi cevabı

0

Bir toplu kullanabilirsiniz EXISTS oluşturulmuş bir kelime tablosu ile

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
);

Değişebilirsin. >= 4 -e doğru = 9 kelime sayısı ile tam bir eşleşme elde etmek için

2021-11-24 09:58:35

Diğer dillerde

Bu sayfa diğer dillerde

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