2017-10-28 9 views
-2

instrとsubstr.を使用せずに電子メールからユーザー名を抽出する方法は、oracle dbで作業しています。 私はこのsubstrをinstrを使用せずに電子メールから名前を抽出する

select regexp_replace(email,'^.*@') from students; 

を試みたが、ドメインname.plsが

+1

regexp_substrについてはどうですか? –

+0

同じ回答があります – sri

+1

なぜSUBSTRとINSTRを使用できませんか?このコードはゴルフですか? –

答えて

1
select regexp_replace(email,'@.*$') from students 

を助けるよう、私は出力を得たことは何もない行の最後まで@から始まるすべてを置き換えます。

-1

これは

select regexp_substr(email, '[A-Z]{1,10}') REG_EXP from students; 

このクエリは、ユーザー名での文字だけを持っていることを前提としていますのでご注意ください試してみてください(つまり、@記号の前)とユーザー名が組み合わせをしている場合、それは

レン

であります以下のコードを試してみてください

select regexp_substr(email, '[0-9A-Z]{1,10}') REG_EXP from students; 

注:小文字を使用している場合、このスクリプトは機能し、ユーザー名がmor 10文字以上に応じてコードの一部を変更してください

+0

小文字はどうですか?またはユーザー名が10文字を超えていますか? – mathguy

関連する問題