Nasıl bir düzenli ifade yapmak MySQL yerine?
~500 k satır ile bir tablo var; (255) UTF8 sütun varchar filename
Bir dosya adı içerir;
Dosya adı çeşitli tuhaf karakterleri kaldýrmak için çalışıyorum - karakter sınıfı kullanmak sandım: [^a-zA-Z0-9()_ .\-]
Şimdidüzenli ifade ile değiştirin sağlar MySQL fonksiyonu? Benzer bir işlevi YERİNE bakıyorum() fonksiyonu - basit örneği şöyle:
SELECT REPLACE('stackowerflow', 'ower', 'over');
Output: "stackoverflow"
/* does something like this exist? */
SELECT X_REG_REPLACE('Stackoverflow','/[A-Zf]/','-');
Output: "-tackover-low"
Hakkında REGEXP/RLIKE, ama bu sadece kontrol biliyorumeğerbir maç bile yokturnemaç.
(Benolabilir"SELECT pkey_id,filename FROM foo WHERE filename RLIKE '[^a-zA-Z0-9()_ .\-]'
" bir PHP komut dosyası, bir preg_replace
"UPDATE foo ... WHERE pkey_id=...
" ama bu bir son çare gibi görünüyor yavaş ve çirkin hack) . bunu bir yap
CEVAP
Hayır.
Ama eğer sunucuya erişiminiz varsa, bir kullanıcı kullanabilirsiniz tanımlı fonksiyon (UDF) mysql-udf-regexp gibi.
Nasıl twitter bootstrap menü hover yer...
Nasıl Düzenli İfade, JavaScript için b...
Nasıl JavaScript düzenli ifade eşleşen...
Nasıl Java düzenli ifade için metin ka...
Nasıl bir MySQL geri yükleme yapmak is...