# `Fun_GetNum` (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_GetNum`'`._

## Narrative

**Business context:** Numeric-substring extractor — pulls the digits (and `.`) out of a free-form string while preserving the **first run** of contiguous digits/decimals, dropping leading zeros until a `1-9` appears. Used in 排产 / 控制面 编号 helpers where a bill number or table name embeds a number that needs to be peeled out.

**What it does:** Walks `str` char by char; once a `1-9` is seen, appends subsequent digits and `.` to the output; non-numeric chars are skipped; returns the accumulated string.

**Invocation:** Called by `Sp_Create_sControlFaceNameTable` / `*Two` / `*Three` / `*Four` (control-face table-name builders), `Sp_Manufacture_ProductionPlanInfo_detail` / `*Lock_detail`, `Sp_productionPlan_BtnEventAutoOrder3`–`9` (auto-排产 button handlers), and function `Fun_GetAddBillNo` (bill-number incrementor).
