0

こんにちはみんな私はこのテーブルを持っています 私の元のテーブル

ACCT_NAMEの最初の文字をACCT_SHORT_NAMEの名に置き換える必要があります。Higliighted(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 に答える