[SQL ] mysql REGEXP 方法

看板Database作者 (煉)時間8年前 (2016/07/18 16:39), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
內容/問題描述: 小弟現在有個問題想請問一下各位先進 有張 table table name : projects projects.code 如下: 11&22 11&22|22&33 92&71|22&92|55&33 我有18組號碼,分別要去找出這欄位裡面有符合的 例如號碼是 11 , 22 , 34 這樣的話只要是 11&22 or 22&34 or 11&34 都符合 「|」 是分隔符號,被它區分的只要有一組符合就可以了 例如: 11&22 : O 22&99 : X 11&22|22&33 : O 92&71|22&92|55&33 : X 我的寫法是這樣: $aCodes = array(11, 22, 33, 44, 55, 66, 77, 88, 99, 10, 21, 31, 41, 51, 61, 71, 81, 91); < php code 省略 > mysql: UPDATE `projects` SET `updatetime`='".date("Y-m-d H:i:s") WHERE `projects.type` like '1' AND ( 1=2 OR REGEXP "^.*11&22*$" OR REGEXP "^.*11&33*$" OR REGEXP "^.*11&44*$" ... OR REGEXP "^.*22&11*$" OR REGEXP "^.*22&33*$" OR REGEXP "^.*22&44*$" ... OR REGEXP "^.*33&11*$" OR REGEXP "^.*33&22*$" OR REGEXP "^.*33&44*$" ... < 重覆 18*17 次> ) 小弟覺得這個方法非常的笨,但是又想不出更好的方法 所以想請問一下各位先進是否有更好的方法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.155.100 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1468831186.A.ACC.html

07/18 21:52, , 1F
like '11|22|33&11|22|33' &左右兩邊各有一個中即可?
07/18 21:52, 1F

07/18 21:53, , 2F
這個好像比較適合 REGEXP 板
07/18 21:53, 2F
文章代碼(AID): #1NZ9NIhC (Database)