こんにちはみんなこれは質問です:
メールアドレスにフルネームが含まれている従業員の従業員IDとメールアドレスを表示します。
何が使えると思いますか?substrを使用できますか?そうでない場合、他の提案はありますか?みんな平和ありがとう!
こんにちはみんなこれは質問です:
メールアドレスにフルネームが含まれている従業員の従業員IDとメールアドレスを表示します。
何が使えると思いますか?substrを使用できますか?そうでない場合、他の提案はありますか?みんな平和ありがとう!
たとえば、正規表現を使用します
CREATE TABLE employees (
emp_id NUMBER PRIMARY KEY,
first_name VARCHAR2(30),
last_name VARCHAR2(30),
email VARCHAR2(255)
);
INSERT INTO employees VALUES (1, 'Joseph', 'Ratzinger', 'benedictxvi@vatican.va');
INSERT INTO employees VALUES (2, 'Tim', 'Cook', 'tcook@apple.com');
INSERT INTO employees VALUES (3, 'Larry', 'Ellison', 'Ellison@oracle.com');
INSERT INTO employees VALUES (4, 'Michael', 'Dell', 'Michael@dell.com');
SELECT emp_id, email FROM employees WHERE regexp_like(email, last_name);
3 Ellison@oracle.com
大文字と小文字を区別しない結果を含めるには、次を使用します。
SELECT emp_id, email FROM employees WHERE regexp_like(email, last_name, 'i');
2 tcook@apple.com
3 Ellison@oracle.com
4 Michael@dell.com
ホスト名を除外する必要がある場合は、パターンに「@」を追加します...
SELECT emp_id, email FROM employees WHERE regexp_like(email, last_name||'@', 'i');
2 tcook@apple.com
3 Ellison@oracle.com
... または電子メールからホスト名を抽出します。
SELECT emp_id, email
FROM employees
WHERE regexp_like(regexp_substr(email,'.*@'), last_name, 'i');