發表文章

目前顯示的是 12月, 2008的文章

正規表示式 Regular expressions 使用在 mysql 的 sql 查詢

果然是各殺手級的應用 mysql RE用法 http://dev.mysql.com/doc/refman/5.1/en/regexp.html 測試 RE http://osteele.com/tools/rework/ RFC email正規表示 http://www.regular-expressions.info/email.html 官方網站的例子是這樣的 mysql> SELECT 'a word a' REGEXP '[[: :]]'; -> 1 mysql> SELECT 'a xword a' REGEXP '[[: :]]'; -> 0 字串的比對透過 RE 比對後得到 ture or flase 兩種結果 結果應用在 where 查詢上面,就可以找到符合我們描述字串的東西了 WHERE phone REGEXP '(435)'; 會用到這個功能原因是,在原始的資料檔案中在email這個欄位,因為是大批的匯入系統 但使佣者在建立的時候,每個人的格式不同創造出了眾多的 email表達方式,又剛好要用到這些 email來發電子文宣,只好用 RE 來做簡單的 email過濾了..... 需要兩個校友的資料,以 .CSV 檔案 1.有email的校友,學號,姓名,email 且 email 合乎 REF 標準 SELECT `sid`,`username`,`email` FROM `data` WHERE `email` regexp '^[[:alnum:]]+@([[:alnum:]\.{1,}])+\.[a-z]{2,3}$' ; 2.有地址的校友,學號,姓名,郵遞區號,地址,地址做簡單的過濾 SELECT `username`,`register_zip`,`register_addr` FROM `data` where register_zip AND register_addr REGEXP '高雄|高市|台南|高縣'; 就先這樣拉!!