0

嗨,伙计们,我有这张桌子 我的原始表

我需要用 ACCT_SHORT_NAME 的名字替换 ACCT_NAME 中的首字母。不应更改像 Higlilighted(RAFFMAN) 这样的记录。我努力了:

select acct_name, ACCT_SHORT_NAME,replace(acct_name, substr(acct_name, 1, 1),      ACCT_SHORT_NAME)
 from tbaadm.gam where schm_type = 'TDA' and rcre_user_id  = 'SYSTEM' and substr(acct_name,2,1) = ' '

我正进入(状态:

选择后的表格

这意味着正在选择 ACCT_SHORT_NAME 中的整个值。做我想做的事情的最好方法是什么?

4

1 回答 1

1

使用INSTR函数提取名字以获取第一个空格的位置

   replace(acct_name, substr(acct_name, 1, 1),  subst(ACCT_SHORT_NAME,1,INSTR(ACCT_SHORT_NAME,' ')))

要考虑仅具有名字的短名称,请使用CASE

于 2012-11-06T16:49:54.027 回答