LINUX.ORG.RU

Ответ на: комментарий от Regacar

Какая база-то? PostgreSQL, MySQL?

В стандартном like в шаблонах водится только _ (один символ) и % (сколько угодно символов). Тебе посоветовали регулярку, она от базы зависит.

Ну и перед удалением лучше выбери и глазами посмотри, что запрос возвращает.

PostgreSQL: https://qna.habr.com/q/60836

[code] SELECT * FROM table WHERE text ~ ‘[a-z]+’; [code]

Ну и тут только нижний регистр присутствует, и цифр нет, так что нужно дорабатывать.

anonymous
()

Фу таким шовинистом быть! Все буквы равны!

А по теме, можно по идее через регэкспы и отрицание

Harald ★★★★★
()

ну и от кодировки зависит

Harald ★★★★★
()
Ответ на: комментарий от XoFfiCEr

Не нужно ничего знать, нужно скорей комментарий писать!

ilinsky ★★★★★
()
Последнее исправление: ilinsky (всего исправлений: 1)

А, вижу, выше уже сказали про REGEXP_LIKE.

wandrien ★★
()

Если это не школьная лаба по информатике, где учитель строго-настрого запретил пользоваться любыми инструментами кроме SQL, то всегда можно костыльнуть привычным набором инструментов

Так можно сделать дамп таблички вида «одна запись на строку»:

mysqldump --opt --skip-extended-insert $db $table > mg_user.sql


А вот так фильтрануть кириллицу:
$ cat test
Вася
Петя
Jack
Коля

$ perl -wln -e "/^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+$/ and print" ./test
Вася
Петя
Коля


Сообразишь, что сделать дальше?

slowpony ★★★★★
()
Ответ на: комментарий от slowpony

Нельзя пользоваться любыми инструментами, кроме SQL, но ты в итоге всё равно сделал на Perl.

/^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+$/

А почему бы не так: /^[а-я]+/i?

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от anonymous

От себя добавлю, в постгресе несколько рпсширений для текстов, типа е/ё считают одни и т.п. Рекомендую изучить мануал.
И да, в 2021 бы использовать только ванильный SQL..

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

Так норм? /^[а-яёЁ]+/i

Нет. И можешь дальше не продолжать, т.к. что значит:

строки с НЕ русскими символами

нам доподлинно не известно:

а) это «/^[a-z]+$/i» ?

б) это «/^[a-z]+$/ui» ?

в) это «/^[^а-яёЁ]+$/ui» ?

г) это «/^[^\s0-9а-яёЁ]+$/ui» ?

д) это другие извращения?

deep-purple ★★★★★
()
Ответ на: комментарий от Shadow

И да, в 2021 бы использовать только ванильный SQL..

Чистый SQL был актуален 20 лет назад, будет актуален и через 20 лет.

anonymous
()
Ответ на: комментарий от anonymous

*очень удобные агрегирующие функции, оконные функции, матстатистика в современныйх SQL* такие - «ну да, ну да, кому мы нужны, зачем нас использовать»

Shadow ★★★★★
()

такое возможно?

Да, регуляркой. Они есть на любой мейнстримовой РСУБД.

crutch_master ★★★★★
()
Ответ на: комментарий от anonymous

Чистый SQL был актуален 20 лет назад, будет актуален и через 20 лет.

Чистого SQL нет в природе. Каждый вендор всегда лепил свой диалект. На разных субд один и тот же запрос будет работать по-разному паршиво.

crutch_master ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

А ты не знал? Современные СУБД реализуют, как правило, не стандарт SQL, а подмножество надмножества операторов SQL.

ilinsky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.