Mysql

從變數字元串中刪除最後一個字元

  • September 12, 2012

我在“電子郵件”列中有一些可變數據。

例如:

roy2087@gmail.com123
sg123@yahoo.compori

我如何擺脫之後的字元.com

我使用Replace(email,'.com%',gmail.com)了,但是,我們不能在 Replace 中使用萬用字元。

有什麼建議?

SELECT
   SUBSTRING(col, 1, CHAR_LENGTH(col) - CHAR_LENGTH( SUBSTRING_INDEX(col, '.com', -1) ) ) ;

如果要更新表格中的字元串,請刪除右側的內容.com

UPDATE 
   tableX
SET
   col = SUBSTRING(col, 1, CHAR_LENGTH(col) - CHAR_LENGTH( SUBSTRING_INDEX(col, '.com', -1) ) ) 
WHERE
   SUBSTRING_INDEX(col, '.com', -1) <> col ;

mysql有正則表達式嗎?如果是這樣,也許這指向正確的方向

select regexp_replace ('roy2087@gmail.com123', '\.com.*','.com') email from dual;

在Oracle中工作,不確定mysql。

引用自:https://dba.stackexchange.com/questions/22153