在MySQL中,有時候需要從一個字符串中截取出特定的數字用于計算,下面介紹兩種方法。
第一種方法是使用MySQL內置函數SUBSTRING_INDEX。該函數可以從一個字符串中截取出指定數量的子串,并在每個子串之間使用特定的分隔符。例如,我們有一個包含數字和字符的字符串'ST1234UJ', 需要截取數字部分'1234',則可以使用以下語句:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('ST1234UJ', 'ST', -1), 'UJ', 1);
首先,SUBSTRING_INDEX函數從字符串'ST1234UJ'中截取出最后一個包含'ST'的子串'1234UJ'。然后,再次使用SUBSTRING_INDEX函數從截取出的子串中截取出最后一個包含'UJ'的子串'1234'。
第二種方法是使用MySQL內置函數REGEXP_REPLACE。該函數可以將一個字符串中的匹配正則表達式的部分替換為指定的字符。例如,我們有一個包含數字和字符的字符串'ST1234UJ',需要將非數字部分替換為空格,則可以使用以下語句:
SELECT REGEXP_REPLACE('ST1234UJ', '[^0-9]', ' ');
該語句中的正則表達式'[^0-9]'表示匹配除數字外的所有字符。使用REGEXP_REPLACE函數將匹配到的所有字符替換為空格。
下一篇mysql截取日期