GetChineseChar.md 1.45 KB

GetChineseChar (function)

传入字符串获取其中中文部门

  • Type: FUNCTION
  • Returns: varchar(100)
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sOldStr varchar(100)

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE FUNCTIONGetChineseChar'.

Narrative

Business context: Intended to split a mixed Chinese/Latin string and return only the non-Chinese (ASCII) part — useful for separating product codes/SKUs from their Chinese descriptive names. Header gloss mis-spells the intent: "传入字符串获取其中中文部门" (read as "...部分").

What it does: Walks the string one character at a time; classifies each via REGEXP '[u0391-uFFE5]' and accumulates into szwChar (non-match → "non-Chinese") or snChar (match → "Chinese"). Returns szwChar.

Invocation: Status: appears orphaned. No form-master, gdsmodule, other-routine, or xly-src caller (the matching xly-src/script/标版/30000101/GetChineseChar.sql is the definition itself). Bug suspect: the regex character class [u0391-uFFE5] is taken as literal u/0/3/9/1/…/F/E/5 rather than the intended Unicode range Α-¥ — the function effectively classifies every character as non-Chinese and returns the whole input. Same broken regex as Fun_GetCh flagged in session 4. Candidate for maintainer audit.