これは簡単ですが、LastName、FirstNameをLastName、FirstInitialに変換するにはどうすればいいですか?ジョンソンにスミス、Jまたはジョンソン、ジョン・スミスに、ジョンの変更たとえば姓、名、姓、FirstInitialに変更する
、Jなど
はありがとうございました!単一の列に保存されたフルネームの場合
select LastName,substr(FirstName,1,1)
from mytable
;
:氏名とFirstNameの列の場合
これは簡単ですが、LastName、FirstNameをLastName、FirstInitialに変換するにはどうすればいいですか?ジョンソンにスミス、Jまたはジョンソン、ジョン・スミスに、ジョンの変更たとえば姓、名、姓、FirstInitialに変更する
、Jなど
はありがとうございました!単一の列に保存されたフルネームの場合
select LastName,substr(FirstName,1,1)
from mytable
;
:氏名とFirstNameの列の場合
select substr(fullname,1,instr(fullname || ',',',')-1) || substr(fullname,instr(fullname || ',',','),2)
from mytable
;
又は
select regexp_replace (fullname,'([^,]*,?)(.).*','\1\2')
from mytable
;
ありがとう、これは非常に便利でした! – Mitch
ようこそ。最後のバージョンを確認してください(2番目のオプション)。名前がカンマでない場合にあなたを守ります。 –
@ミッチこれで満足すればこの答えを受け入れることを忘れないでください! –
ここでは一つの方法です、単に「標準」instr
とsubstr
を使用します。
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(最初のイニシャルも取得する)。
あなたは何を試していますか? –