Ответ зависит от типа данных, который вы используете для столбца.
Если вы используете тип данных JSON, вы можете извлечь ключ, используя комбинацию JSON_EXTRACT и JSON_KEYS
Например, если вы запустите
SELECT ID, JSON_EXTRACT(JSON_KEYS(JSON_EXTRACT(RULE, '$.buy')),"$[0]") AS ArticleInfo FROM test;
Он вернет
ID | ArticleInfo
123 | "10000"
445 | "11000"
Если ключи на самом деле всегда числовые, вы можете затем вернуться к целым числам
SELECT ID, (JSON_EXTRACT(JSON_KEYS(JSON_EXTRACT(RULE, '$.buy')),"$[0]") * 1) AS ArticleInfo FROM test;
ID | ArticleInfo
123 | 10000
445 | 11000
Если это CHAR / VARCHAR / TEXT, то вы можете использовать то же, что и выше, но сначала приведите varchar к JSON, используя CAST(RULE AS JSON)
EG
SELECT id,
(JSON_EXTRACT(JSON_KEYS(JSON_EXTRACT(CAST(rule AS JSON), '$.buy')),"$[0]")* 1)
FROM test;
Если вы используете версию MySQL, которая не поддерживает JSON, вы можете использовать комбинацию SUBSTRING, POSITION и других строковых функций