Фильтровать как %[A-Za-z]% в блоках данных

Я пытаюсь использовать table.column LIKE '%[A-Za-z]% в блокноте Databricks, но он не возвращает никакого значения.

Он работал на SQL-сервере, но, похоже, не работает в Pysql.

Кто-нибудь знает, какая альтернатива в Databricks?


person cornerstone347    schedule 16.02.2021    source источник
comment
Извините, я совсем новичок в databricks. Я не думаю, что создал df, но я напрямую запрашивал таблицы.   -  person cornerstone347    schedule 16.02.2021
comment
Извините, но в таблице будет показано все, что я спросил, потому что я не выбираю этот столбец, а просто фильтрую его.   -  person cornerstone347    schedule 16.02.2021


Ответы (1)


Функция LIKE имеет ограниченную функциональность, поэтому вместо этого необходимо использовать rlike:

select * .... where column rlike '.*[A-Za-z].*'

Обновление: реальный пример:

%python
df = spark.createDataFrame([{'id': 1, 's':'12323'}, {'id': 1, 's':'123T23'}], 
  schema='id int, s string')
df.createOrReplaceTempView("rlike_test")

и запрос:

%sql
select * from rlike_test where s rlike '.*[A-Za-z].*'

вот результат выполнения:

введите здесь описание изображения

person Alex Ott    schedule 16.02.2021
comment
Привет, Алекс, большое спасибо. Есть ли какой-нибудь документ, который я могу посмотреть? Я изо всех сил пытался найти один. - person cornerstone347; 17.02.2021
comment
Что ты имеешь в виду? Примеры находятся в связанной документации - person Alex Ott; 17.02.2021
comment
Хм. Я только что попробовал, но, кажется, это не работает. Кстати, я на Databricks. Я не знаю, имеет ли это значение. - person cornerstone347; 17.02.2021
comment
Я обновил ответ скриншотом - person Alex Ott; 17.02.2021