Как использовать регулярное выражение для поиска числа вместо строки?

Как изменить запрос, чтобы в поле "Category" выводить первое слово в строке поля "Cargo" содержащее кириллицу, вместо текущего значения 1?
  • 10 августа 2024 г. 8:13
Ответы на вопрос 2
1. Для поиска числа вместо строки, можно использовать следующее регулярное выражение: \d+. Этот шаблон будет искать одно или более цифр в тексте.

2. Для изменения запроса и вывода первого слова в строке поля "Cargo" содержащего кириллицу, можно воспользоваться следующим запросом:

```sql
SELECT
    id,
    CASE WHEN cargo ~ E'\\b\\p{IsCyrillic}+' THEN regexp_replace(cargo, E'\\b(\\p{IsCyrillic}+)\\b.*', '\\1')
    ELSE '1' END AS category,
    cost
FROM
    shipments;
```

Этот запрос будет выводить первое слово в строке поля "Cargo" содержащее кириллицу в поле "Category".
SELECT 
    b.Cargo, 
    count(b.Cargo), 
    REGEXP_SUBSTR(b.Cargo, '[А-Яа-яЁё]+') AS Category
FROM base b
GROUP BY b.Cargo
Похожие вопросы