like operatör

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

true, str ile pattern eşleşiyorsa escape döndürür.

Söz dizimi

str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )

Bağımsız değişkenler

  • str: Bir STRING ifadesi.

  • pattern: Bir STRING ifadesi.

  • escape: Tek bir karakter STRING sabiti.

  • ANY veya veya SOMEALL:

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

    "ALL belirtilmişse ve [NOT] işlevi, tüm desenlerle eşleşirse (veya eşleşmezse), true döndürür str." Aksi takdirde veya ANY ya da SOME belirtilmişse, NOT en az bir desenle eşleşiyorsa (veya eşleşmiyorsa), [true] gibi str döndürür.

Döndürülenler

Bir BOOLEAN.

Desen, aşağıdaki özel simgeler dışında kelimenin tam anlamıyla eşleşen bir dizedir:

  • _ girişteki herhangi bir karakterle eşleşir (POSIX normal ifadelerinde olduğu gibi . )
  • % girişteki sıfır veya daha fazla karakterle eşleşir (POSIX normal ifadelerinde olduğu gibi .* ).

Varsayılan kaçış karakteridir '\'. Bir kaçış karakteri özel bir simgeden veya başka bir kaçış karakterinden önce gelirse, aşağıdaki karakter kelimenin tam anlamıyla eşleştirilir. Başka bir karakterden kaçmak geçersiz.

Değişmez değerleri kullanırken kaçış karakteri ön işlemesini önlemek için ( ön ek)raw-literalr .

str NOT like ... eşdeğeri, NOT(str like ...) olur.

SQL Standard tarafından tanımlandığı gibi, LIKE sıralama boşluklara duyarsız olsa bile, sondaki boşluklara karşı her zaman hassastır. Null strolmayan için: str LIKE str || ' ' her zaman falseşeklindedir.

Şunun için geçerlidir:işaretlendi evet Databricks SQL işaretlendi evet Databricks Runtime 17.2 ve üzeri

LIKE aşağıdaki harmanlamaları destekler:

  • UTF8_BINARY
  • UTF8_BINARY_RTRIM
  • UTF8_LCASE
  • UTF8_LCASE_RTRIM

Diğer harmanlamalar için , containsveya startswithkullanınends_with.

Örnekler

> SELECT like('Spark', '_park');
true

> SELECT r'%SystemDrive%\Users\John' like r'%SystemDrive%\\Users%';
true

-- When not using raw literals, the escape character must be escaped.
> SELECT r'%SystemDrive%\Users\John' like '%SystemDrive%\\\\Users%';
true

> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true

> SELECT like('Spock', '_park');
false

> SELECT 'Spark' like SOME ('_park', '_ock')
true

> SELECT 'Spark' like ALL ('_park', '_ock')
false

-- like is always trailing blank sensitive
> SELECT 'Spark' COLLATE UTF8_BINARY_RTRIM like 'Spark ';
false