2016-10-31 8 views
0

これは簡単ですが、LastName、FirstNameをLastName、FirstInitialに変換するにはどうすればいいですか?ジョンソンにスミス、Jまたはジョンソン、ジョン・スミスに、ジョンの変更たとえば姓、名、姓、FirstInitialに変更する

、Jなど

はありがとうございました!単一の列に保存されたフルネームの場合

select LastName,substr(FirstName,1,1) 
from mytable 
; 

:氏名とFirstNameの列の場合

+0

あなたは何を試していますか? –

答えて

2

select substr(fullname,1,instr(fullname || ',',',')-1) || substr(fullname,instr(fullname || ',',','),2) 
from mytable 
; 

又は

select regexp_replace (fullname,'([^,]*,?)(.).*','\1\2') 
from mytable 
; 
+0

ありがとう、これは非常に便利でした! – Mitch

+0

ようこそ。最後のバージョンを確認してください(2番目のオプション)。名前がカンマでない場合にあなたを守ります。 –

+0

@ミッチこれで満足すればこの答えを受け入れることを忘れないでください! –

0

ここでは一つの方法です、単に「標準」instrsubstrを使用します。

select substr(fullname, 1, instr(fullname, ',')+1) from yourtable; 

yourtableがテーブルの名前で、fullnameは列の名前である:あなたの入力を仮定するとフォーマット'Smith,John'で単一の文字列です。

instr(fullname, ',') finds the position of the comma within the input string (it would be 6 in 'Smith,John'); then substr instr`、PLUS 1(最初のイニシャルも取得する)。

関連する問題