【发布时间】:2014-08-05 19:01:35
【问题描述】:
所以,我有一个问题。这可以编译,但如果该人的中间名首字母带有“。”中间的首字母将包含在 last_nm 列中。例如 Julie L. Roberts last_nm 显示为“L. Roberts”而不是 roberts。代码中加星标的部分是问题所在。如果我更改 instr 语句以搜索“。” + 1 然后我修复它,但如果此人没有“。”在 last_nm 列中显示全名。
NVL (
LTRIM (
RTRIM (
REPLACE (
RTRIM (vw_party_person.first_nm)
|| ' '
|| LTRIM (RTRIM (vw_party_person.mid_nm))
|| ' '
|| LTRIM (vw_party_person.last_nm),
' ',
' '))),
full_nm)
full_nm,
former_nm,
party_hist_eff_dt,
party_hist_exp_dt,
**NVL (vw_party_person.first_nm,
SUBSTR (DECODE (full_nm, 'null full name', NULL, full_nm),
1,
instrc (full_nm,
' ',
1,
1)))
first_nm,
NVL (vw_party_person.last_nm,
SUBSTR (DECODE (full_nm, 'null full name', NULL, full_nm),
instrc (full_nm,
' ',
1,
1)
+ 1))
last_nm**
FROM adw.pol_term_party_snapshot,
vw_party_person,
vw_party,
vw_party_hist
【问题讨论】:
标签: sql oracle plsql logic plsqldeveloper