2
我正在嘗試編寫一個regexp_replace來爲某些員工創建一個「友好」名稱。目前,他們正在存儲爲FIRST <POSSIBLE MIDDLE INITIAL> LAST <POSSIBLE SUFFIX> <MULTIPLE WHITESPACE> SITE_ID
Oracle 10G名稱正則表達式
例如,
JOHN SMITH ABC
JOHN Q SMITH ABC
JOHN Q SMITH III ABC
我想寫一個正則表達式,這樣我將結束:
Smith, John
Smith, John Q
Smith III, John Q
的ABC「網站ID」沒有按」 t需要包含在我的輸出中。
這是我嘗試過,但收效甚微:
regexp_replace(
employee_name,
'^(\S+)\s(\S+)\s(\S+)',
'\3, \1 \2'
)
此外,我使用Oracle 10g。任何幫助將不勝感激!
會'JOHN Q III'有中間名Q和姓III('III,約翰Q'),或姓氏Q和後綴III('Q III,John' )?這種名稱拼湊總是有風險的,因爲人們的名字並不總是符合我們的先入之見;例如,如果姓氏包含一個空格,比如GabrielGarcíaMárquez,那該怎麼辦? – ruakh
是的。約翰Q III將有中間名Q和姓III。 – muncherelli