実現したいこと
ZabbixのアイテムのヒストリをSQLで出力させてます。以下の条件のもと文字列を抽出する方法はありますか?
REGEXP_REPLACEをつかいましたが、理想の結果になりません。
・「@」の前を抽出。
・「@」が無い場合は、NULL値。
恐れ入りますが、ご教示お願いします。
[バージョン]
MariaDB:10.5.10
zabbix:5.0
sql
1create table tbl (id int primary key,mail varchar(30)); 2insert into tbl values 3(1,'123@gmail.com'), 4(2,'456'), 5(3,'789@gmail.com'), 6(4,'cat@yahoo.co.jp'), 7(5,'dog'), 8(6,'tiger'); 9 10SELECT *,REGEXP_REPLACE(mail,'.+@','') as rep from tbl 11 12#出力結果 13+----+-----------------+-------------+ 14| id | mail | rep | 15+----+-----------------+-------------+ 16| 1 | 123@gmail.com | gmail.com | 17| 2 | 456 | 456 | 18| 3 | 789@gmail.com | gmail.com | 19| 4 | cat@yahoo.co.jp | yahoo.co.jp | 20| 5 | dog | dog | 21| 6 | tiger | tiger | 22+----+-----------------+-------------+ 23 24#理想の結果 25+----+-----------------+-------------+ 26| id | mail | rep | 27+----+-----------------+-------------+ 28| 1 | 123@gmail.com | gmail.com | 29| 2 | 456 | | 30| 3 | 789@gmail.com | gmail.com | 31| 4 | cat@yahoo.co.jp | yahoo.co.jp | 32| 5 | dog | | 33| 6 | tiger | | 34+----+-----------------+-------------+
あなたの回答
tips
プレビュー