4
我有一個表,其中包含一個字段,title
,我需要得到每個title
的前3個字母數字字符。 title
的某些值有",',\t,\n,
或前置空格 - 應該忽略。得到前3個字母數字字符(只有數字或字母)
+--------+-----------------------------------------+---------------------+
| id | title | desired output |
+--------+-----------------------------------------+---------------------+
| 1 | "abcd" | abc |
| 2 | 'lostworld | los |
| 3 | \tsonof | son |
| 4 | 12amrt | 12a |
+--------+-----------------------------------------+---------------------+
desired output
是我正在尋找的輸出。如果任何人都可以建議通用查詢,可以處理所有情況都很好。
只使用MySQL尋找解決方案。
我不認爲metalfight需要任何字符串替換 - 這個問題聽起來像他們只是想輸出(顯示)前3個字母數字字符,而不是將它們保存回數據庫。 – 2013-05-02 10:25:32
正確,但OP所需的列不存在。爲了在現有列上使用正則表達式字符串替換創建動態列。 MySQL不支持直接替換正則表達式字符串。 – 2013-05-02 17:20:50
啊,是的,我明白你的意思了;內建函數[REGEXP](http://dev.mysql.com/doc/refman/5.1/en/regexp.html)只會告訴你是否存在匹配,但OP將需要找到匹配的子字符串。 – 2013-05-03 07:54:48