fuzzy pattern SQL Netezza'yı izleyen dizeden seri ayıklayın
Oct 07 2020
lütfen aşağıdaki gibi takip etmesi zor olan bulanık desenli bir seri içeren bir günlük mesajım var
|LogMsg |
|------------------------------------------------------------------------------------------|
|Customer Receive CPE Indoor. serial 21530369847SKA011094, user:ahmed.o.haraz |
|Customer Receive CPE Indoor as change. serial :21530369847SK9078291, user:Abdullah.M160275|
|Customer Receive CPE Indoor. serial:ZTERRT1H9202990 |
|Customer Receive CPE Indoor. serial 21530369847SKB333996 .UserName :TEDST.mohamed.badry |
|Customer Receive CPE Indoor as change. serial :21530373727skc298302, user:Frass.m195577 |
|Customer Receive CPE Indoor. serial 21530369847SKA267112 .UserName :seller.160002 |
Aşağıdaki gibi diziden Seri'yi çıkarmam gerekiyor
|Serial|
|21530369847SKA011094|
|21530369847SK9078291|
|ZTERRT1H9202990 |
|21530369847SKB333996|
|21530373727skc298302|
|21530369847SKA267112|
Bahsedilen sorguyu kullanarak aldım regexp_replace()ama bazılarını kaçırdım
select replace(replace(regexp_extract(logmsg, 'serial [^,]+'), 'serial ', ''), ':', '')
Yanıtlar
2 AniketKulkarni Oct 08 2020 at 02:33
Deneyin
select get_value_varchar(
regexp_extract_all_sp(logmsg,
'(serial\s*:?)([^,\s]+)'),3) as serial
from serial;
Size aradığınız sonucu vermelidir
SERIAL
----------------------
21530369847SKA011094
21530369847SKA267112
21530369847SKB333996
21530369847SK9078291
ZTERRT1H9202990
21530373727skc298302
(6 rows)
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı