# `Fun_GetGb` (function) > 获取字符串中数字 - **Type:** FUNCTION - **Returns:** `varchar(100)` - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `str` | `varchar(100)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE FUNCTION `Fun_GetGb`'`._ ## Narrative **Business context:** Prefix extractor — pulls the non-digit prefix of a bill-number-style string (the "header"/`国标` letters before the running counter). Header comment `获取字符串中数字` is misleading; the body keeps **non-digit** characters, not digits. Paired with `Fun_GetNum` (digits-only) it lets routines split `SO-2024-0001` style codes into prefix `SO-` and number `20240001`. **What it does:** walks the input one character at a time. For each char, tests `REGEXP '[0-9]'`; if it does **not** match (i.e. non-digit), appends to the result. Returns the assembled non-digit prefix. **Invocation:** called from `Fun_GetAddBillNo` (bill-number incrementer) and from the auto-scheduling family `Sp_OneDatePlan_Machine` (single-day machine-plan generator on form `1921168137117916508762815480` 机台计划达成日报), and `Sp_productionPlan_BtnEventAutoOrder3/4/5/6` (production-plan auto-order button events). Also referenced by `Sp_Create_sControlFaceNameTable`, `_TableFive/Four/One/Three/Two` (process-name builders).