Veritabanımda kodlanmış bir alanım var. sahada from_base64 kullandıktan sonra bu gibi görünüyor:MySQL'de Base64 kodlu bir dizenin bir kısmı nasıl çıkarılır?
<string>//<string>//<string>/2017//06//21//<string>//file.txt
yolun başında dizeleri belirsiz sayıda olabilir, ancak, tarih (YYYY // AA // GG) her zaman iki tane olacak sağdaki alanlar (bir uzantının ardından dosya uzantısı).
Bu YYYY // AA // DD desenine göre sıralamak ve bu tarihe sahip tüm yollar için bir sayı almak istiyorum.
Yani temelde bunu yapmak istiyorum:
select '<YYYY//MM//DD portion of decoded_path>', count(*) from table group by '<YYYY//MM//DD portion of decoded_path>' order by '<YYYY//MM//DD portion of decoded_path>';
çalışır eğer Aramak istediğiniz metni kendi alanına ayırın. Verilerin tanımlayıcıları olmadığından (örn. Isim/değer çiftleri veya json veya xml), bir sorgu içindeki dizgiyi ayrıştırmak için işlemci yoğun olacaktır. İlk cümlede yazım hatası olduğunu ve kodu çözülmek yerine kodlanmış demek istedim. Önerdiğiniz yöntemi kullanarak önemli bir performans isabet göreceksiniz. Kod çözülmüş sütunu ayrıştıran ve aranabilir bilgiyi kendi sütunununa koyan bir güncelleme çalışması olması çok daha hızlı olacaktır. –
Neden satır eklediğinizde tarihi ayrı bir sütun olarak eklemiyorsunuz? – mikep
2017'den önce tekil yerine çift eğik çizgi biter mi? –