Joker Karakterlerle SQL Sorgularında Desen Eşleştirme

SQL kalıp eşleştirme, aradığınız kelimeyi veya tümceyi tam olarak bilmiyorsanız, verilerdeki kalıpları aramanıza olanak tanır. Bu tür SQL sorgu, bir kalıbı tam olarak belirtmek yerine eşleştirmek için joker karakterler kullanır. Örneğin, büyük C ile başlayan herhangi bir dizeyi eşleştirmek için "C%" joker karakterini kullanabilirsiniz.

Büyüteç
Kate Ter Haar / Flickr/CC 2.0 ile

LIKE Operatörünü Kullanma

Bir SQL sorgusunda joker karakter ifadesi kullanmak için, WHERE yan tümcesinde LIKE operatörünü kullanın ve deseni tek tırnak işaretleri içine alın.

Basit Arama Gerçekleştirmek için % Joker Karakterini Kullanma

Veritabanınızda soyadı C ile başlayan herhangi bir çalışanı aramak için aşağıdaki Transact-SQL deyimini kullanın:

SEÇ *
çalışanlardan
NEREDE soyadı 'C%' GİBİ

NOT Anahtar Kelimesini Kullanarak Kalıpları Atlama

Modelle eşleşmeyen kayıtları seçmek için NOT anahtar sözcüğünü kullanın. Örneğin, bu sorgu, son adı geçen tüm kayıtları döndürür. değil C ile başlayın:

SEÇ *
çalışanlardan
NEREDE soyadı 'C%' GİBİ DEĞİL
instagram viewer

% Joker Karakterini İki Kez Kullanarak Bir Deseni Her Yerde Eşleştirme

Şunun iki örneğini kullanın: % herhangi bir yerde belirli bir desenle eşleşmesi için joker karakter. Bu örnek, soyadında herhangi bir yerde C içeren tüm kayıtları döndürür:

SEÇ *
çalışanlardan
NEREDE soyadı '%C%' GİBİ

Belirli Bir Konumda Bir Model Eşleşmesi Bulma

Kullan _ belirli bir konumdaki verileri döndürmek için joker karakter. Bu örnek, yalnızca soyadı sütununun üçüncü konumunda C varsa eşleşir:

SEÇ *
çalışanlardan
NEREDE soyadı '_ _C%' GİBİ

Transact SQL'de Desteklenen Joker Karakter İfadeleri

Transact SQL tarafından desteklenen birkaç joker karakter ifadesi vardır:

  • % joker karakter, herhangi bir türden sıfır veya daha fazla karakterle eşleşir ve şablondan önce ve sonra joker karakterleri tanımlamak için kullanılabilir. DOS kalıp eşleşmesine aşinaysanız, bu sözdizimindeki * joker karakterinin karşılığıdır.
  • _ joker karakter, herhangi bir türden tam olarak bir karakterle eşleşir. Bunun eşdeğeri ? DOS desen eşleştirmesinde joker karakter.
  • Köşeli parantez içine alarak bir karakter listesi belirtin. Örneğin, joker karakter [aeiou] herhangi bir sesli harfle eşleşir.
  • Aralığı köşeli parantez içine alarak bir karakter aralığı belirtin. Örneğin, joker karakter [a-m] alfabenin ilk yarısındaki herhangi bir harfle eşleşir.
  • Açılan köşeli parantezin hemen içine karat karakterini ekleyerek bir dizi karakteri olumsuzlayın. Örneğin, [^aeiou] sesli olmayan herhangi bir karakterle eşleşirken [^a-m] alfabenin ilk yarısında olmayan herhangi bir karakterle eşleşir.

Karmaşık Desenler için Joker Karakterleri Birleştirme

Daha gelişmiş sorgular gerçekleştirmek için bu joker karakterleri karmaşık desenlerde birleştirin. Örneğin, alfabenin ilk yarısından itibaren bir harfle başlayan isimleri olan tüm çalışanlarınızın bir listesini oluşturmanız gerektiğini varsayalım. değil sesli harfle biter. Aşağıdaki sorguyu kullanabilirsiniz:

SEÇ *
çalışanlardan
NEREDE soyadı GİBİ '[a-m]%[^aeiou]'

Benzer şekilde, dört örneğini kullanarak tam olarak dört karakterden oluşan soyadlarına sahip tüm çalışanların bir listesini oluşturabilirsiniz. _ Desen:

SEÇ *
çalışanlardan
NEREDE soyadı '____' GİBİ

Anlayabileceğiniz gibi, SQL kalıp eşleştirme yeteneklerinin kullanılması, veritabanı kullanıcılarına basit metin sorgularının ötesine geçme ve gelişmiş arama işlemleri gerçekleştirme yeteneği sunar.

instagram story viewer