一、從mysql截取字符串中的數字
在實際開發中,我們有時需要從mysql的字段中提取數字。為了實現這個目標,我們可以使用MySQL內置函數SUBSTRING_INDEX和REGEXP_REPLACE。
SELECT SUBSTRING_INDEX(REGEXP_REPLACE(`column_name`, '[^0-9]*', ''), 1) FROM `table_name`;
以上代碼將從table_name
表中的column_name
字段中提取數字,並將其作為結果返回。
二、從mysql截取特定字符前面的字段
在mysql中,我們有時需要從字段中提取某個指定字符(如“:”、“-”等)之前的所有內容。為此,可以使用MySQL內置函數SUBSTRING_INDEX和TRIM。
SELECT TRIM(SUBSTRING_INDEX(`column_name`, ':', 1)) FROM `table_name`;
如上代碼將提取table_name
表中column_name
字段中冒號“:”之前的所有內容。
三、從mysql截取到特定字符
如果我們需要從mysql字段中截取到指定字符出現位置的內容,可以使用MySQL內置函數SUBSTRING_INDEX。
SELECT SUBSTRING_INDEX(`column_name`, ':', 1) FROM `table_name`;
如上代碼將提取table_name
表中column_name
字段中冒號“:”之前的所有內容。
四、從mysql截取指定字符前面的內容
有時候,我們需要從mysql字段中提取指定字符前面的內容。MySQL內置函數SUBSTRING_INDEX和REPLACE結合起來可以很方便地實現這個目標。
SELECT SUBSTRING_INDEX(REPLACE(`column_name`, '/', '#'), '#', 1) FROM `table_name`;
以上代碼將從table_name
表中的column_name
字段中找到第一個斜杠“/”,將其替換為“#”,然後提取#號之前的所有內容。
五、從mysql截取中文字符
如果我們需要從mysql字段中提取中文字符,可以通過將字段轉換為二進制形式,再使用MySQL內置函數SUBSTRING和CHAR_LENGTH。
SELECT SUBSTRING(`column_name`, 1, CHAR_LENGTH(`column_name`)) FROM `table_name` WHERE LENGTH(`column_name`) = CHAR_LENGTH(`column_name`) * 3;
如上代碼將提取table_name
表中column_name
字段中的中文字符。
六、從mysql截取字符串前幾位
如果我們需要從mysql字段中截取前幾位字符,可以使用MySQL內置函數LEFT。
SELECT LEFT(`column_name`, 5) FROM `table_name`;
如上代碼將提取table_name
表中column_name
字段中的前五個字符。
七、從mysql截取最後一個字符
如果我們需要從mysql字段中截取最後一個字符,可以使用MySQL內置函數SUBSTRING和LENGTH。
SELECT SUBSTRING(`column_name`, LENGTH(`column_name`), 1) FROM `table_name`;
如上代碼將提取table_name
表中column_name
字段中的最後一個字符。
八、從mysql根據字符截取字符串
在mysql查詢中,我們有時需要根據某個字符截取一個字符串。可以使用MySQL內置函數LOCATE和SUBSTRING來實現這一目標。
SELECT SUBSTRING(`column_name`, LOCATE('a', `column_name`), LENGTH(`column_name`)) FROM `table_name`;
以上代碼將提取table_name
表中column_name
字段中第一個字母“a”之後的所有內容。
九、從mysql根據指定字符截取
如果我們需要根據指定字符截取mysql字段中的字符串,可以使用MySQL內置函數SUBSTRING和LOCATE。
SELECT SUBSTRING(`column_name`, LOCATE('/', `column_name`) + 1) FROM `table_name`;
如上代碼將在table_name
表中的column_name
字段中查找第一個斜杠“/”,然後提取其後面的所有內容。
十、從mysql截取兩個字符中間的內容
在mysql查詢中,有時候我們需要根據兩個字符間的內容截取mysql字段。可以使用MySQL內置函數LOCATE和SUBSTRING實現這一目標。
SELECT SUBSTRING(`column_name`, LOCATE('/', `column_name`) + 1, LOCATE('/', `column_name`, LOCATE('/', `column_name`) + 1) - LOCATE('/', `column_name`) - 1) FROM `table_name`;
如上代碼將在table_name
表中的column_name
字段中查找兩個斜杠“/”之間的內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227273.html