Чтобы извлечь значение `19656` из строки `{"10":19656,"11":19658,"12":0,"13":0}` с использованием функции `REGEXP_SUBSTR` в MySQL, вам нужно составить правильное регулярное выражение.
Вот пример запроса, который должен сработать:
```sql
SELECT REGEXP_SUBSTR('{"10":19656,"11":19658,"12":0,"13":0}', '"10":([0-9]+)', 1, 1, NULL, 1) AS extracted_value;
```
Давайте разберем это выражение:
1. `'"10":([0-9]+)'` - это регулярное выражение, которое ищет текст `"10":`, за которым следуют одна или несколько цифр (`[0-9]+`). Число, следующее после `"10":`, будет захвачено в группу, обозначенную скобками.
2. `1` - это указывает, что поиск начнется с начала строки.
3. `1` - используется для нахождения первой группы.
4. `NULL` - указывает на то, что не нужен модификатор, этот параметр можно оставить NULL.
5. `1` - указывает на то, что мы хотим вернуть первую захваченную группу (то есть саму цифру).
Таким образом, SQL-запрос вернет значение `19656`. Если ваш запрос возвращает `NULL`, убедитесь, что:
- Строка действительно содержит текст в формате JSON.
- Регулярное выражение корректно.