「メール」列にいくつかの変数データがあります。
例えば:
_[email protected]
[email protected]
_
_.com
_の後の文字を削除するにはどうすればよいですか?
Replace(email,'.com%',gmail.com)
を使用しましたが、置換でワイルドカード文字を使用できません。
助言がありますか?
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 ('[email protected]', '\.com.*','.com') email from dual;
oracleで動作しますが、mysqlについては不明です。